Javascript 如何将数据从node.js检索到Ajax?
我正在尝试学习从Ajax向node.js发送/接收数据。我能够从ajax发送数据,但无法接收。无法解决这个问题。如果有人能解释我错在哪里,那就太好了 阿贾克斯 node.jsJavascript 如何将数据从node.js检索到Ajax?,javascript,jquery,node.js,ajax,Javascript,Jquery,Node.js,Ajax,我正在尝试学习从Ajax向node.js发送/接收数据。我能够从ajax发送数据,但无法接收。无法解决这个问题。如果有人能解释我错在哪里,那就太好了 阿贾克斯 node.js 我在jQuery Ajax文档中看到了这条语句: 弃用通知:jqXHR.success()、jqXHR.error()和 jqXHR.complete()回调从jQuery 3.0开始被删除。你可以用 改为jqXHR.done()、jqXHR.fail()和jqXHR.always() 我相信您将需要更改类似于上述文档中提
我在jQuery Ajax文档中看到了这条语句: 弃用通知:jqXHR.success()、jqXHR.error()和 jqXHR.complete()回调从jQuery 3.0开始被删除。你可以用 改为jqXHR.done()、jqXHR.fail()和jqXHR.always() 我相信您将需要更改类似于上述文档中提到的代码
你在Ajax错误处理程序中有没有发现任何错误?没有。我没有发现任何错误。你能在“JSON.stringify”之前的成功处理程序中添加一个日志,看看它是否在日志记录中吗?嘿,我刚刚试过,它不起作用,你使用的是什么jQuery版本?我刚刚试过,但它没有给我任何提示。当我在数据类型中设置文本。因此,当从服务器发送到.ajax时,我没有正确格式化JSON?感谢您的响应。事实上,我已经解决了这个问题。我必须正确格式化JSON。另外,您对node.js使用什么?expressjs?如果是express,您的响应应该是response.JSON(myData)我使用的是node.js,我从服务器发送的JSON数据有问题。location.pathname是什么?即实际的URL不使用任何框架,现在我能够成功地发送数据ie JSON数组,但循环没有在ajax done函数中执行这是框架可以让它变得非常简单的地方-express可以只要是
route。('/path/',函数(req,res,next){res.json(myData})
$(document).on('submit', '#searchdata', function (e) {
e.preventDefault();
var formData = $(this).serialize();
$.ajax({
url: location.pathname,
method: 'POST',
type: 'POST',
data: formData,
processData: false,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
var ret = JSON.stringify(data);
console.log('Success: '+JSON.stringify(data))
},
error: function (xhr, status, error) {
console.log('Error: ' + JSON.stringify(error));
},
});
});
var myData = '';
request.on('data', function (data) {
myData += data.toString();
});
response.writeHead(200, {
'Content-Type': 'text/json',
'Access-Control-Allow-Origin' : '*'});
response.end(myData);
});
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
//Get form by id
var $form = #("#form_id");
//Form data
var formData = new formData($form);
$.ajax({
url: 'http://localhost:300/edit/11', //path to api
method: 'POST', //Method to use (GET by default)
data: formData, //The data to be posted
dataType: 'json', //Expected reponse format
}).done(function(res){
//Results here can contain an error - this is common for custom error types
//Test for custom error assuming in the format res.error
if( typeof res.error == 'undefined'){
console.log(res)
}else{
//You have an error
}
}).fail(function(err){
console.log(err)
})