我使用$ .ajax从node.js服务器请求数据。我正在Firefox中调试客户端。我在控制台中收到以下错误:语法错误无法获取/ xyz,其中/ xyz是我的服务器的路由。但是,页面正常工作。我想避免用此错误填充控制台,因为AJAX请求是递归完成的。
客户代码:
startUpdateGui = function(){
(function updateGui(){
$.ajax(
{
url: "/updategui",
type: "POST",
data: {
id: "master"
},
timeout: 10000,
}
).done( function( data ){
$( "#time_server" ).text( data );
updateGui();
});
})();
}
startUpdateGui()
在<body>
的末尾被调用一次。再次注意,该功能执行了我想要的功能。 done()
已正确执行。服务器代码:
app.post( '/updategui', function( req, res ){
//log.mark( 'Routing \'/updategui\' with id = "' + req.body.id + '"' );
res.end( (new Date()).toString() );
});
其中
app
来自Express
。因此,查看客户端
$.ajax(...)
和服务器app.post(...)
,您可以看到问题出在哪里吗?谢谢你的帮助!
最佳答案
您正在使用哪个版本的jquery?是1.9.0之前的版本吗?
http://api.jquery.com/jquery.ajax/。基本上,如果您未设置,则默认为get。
无论如何,您可以将其更新为方法吗?您也可以在updateGui()中调用updateGui()。
我不确定你是否想要
(function updateGui(){
$.ajax(
{
url: "/updategui",
method: "POST", // <---- updated
data: {
id: "master"
},
timeout: 10000,
}
).done( function( data ){
$( "#time_server" ).text( data );
updateGui(); // <--- recursion
});
})();
这是我的Nodejs代码。
var express = require('express');
var app = express()
.all('/updategui' , function(req, res, next){
// res.write('all\n');
next();
})
// app.get('/', function(req, res, next){
// res.end('get\n');
// })
.post('/updategui', function(req, res, next){
res.end('post\n');
})
app.listen(3000);
关于javascript - 使用jQuery AJAX获取“语法错误无法获取/xyz”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32730124/