gpt4 book ai didi

Firefox 和 Nodejs 的 jQuery Ajax POST 错误

转载 作者:行者123 更新时间:2023-12-01 00:31:11 27 4
gpt4 key购买 nike

我正在使用nodejs并尝试将json发送到我的服务器。该代码在 chrome 上完美运行,但在 firefox 上我只得到错误回调,没有任何反应。我希望你们有一个想法。我真的很绝望控制台日志:

"readyState: 0"

"responseText: undefined"

"status: 0"

"text status: error"

"error: "

这是我的 app.js

var db = require('./src/routes/dbconnection');
app.post('/db', db.postJson);

这是我在服务器上的脚本

exports.postJson = function (req, res) {
var message_body = req.body;
insertIntoDB(message_body);
};

var insertIntoDB = function (message_body) {
var messages = require('mongoskin').db('localhost:27017', {
database: 'messages'
}).collection('header_message');

messages.insert(message_body, function (err, result) {
if (err) throw err;
if (result) console.log('Added!');
});
}

这是我的 Ajax 函数

$.ajax({
type: 'POST',
url: '/db',
dataType: 'json',
data: {
color: color,
icon: icon,
message: banner_message,
leftButtonText: leftButtonText,
rightButtonText: rightButtonText,
closeMeButtonOnly: closeMeButtonOnly,
isEnabled: isEnabled
},
success: function () {
givePopup_success();
writeMessages();
showCurrentOne();
console.log("success");
},
error: function(xhr, textStatus, err) {
console.log("readyState: " + xhr.readyState);
console.log("responseText: " + xhr.responseText);
console.log("status: " + xhr.status);
console.log("text status: " + textStatus);
console.log("error: " + err);
}
}).complete(function (data) {
console.log("done");
});

最佳答案

在您的 $.ajax 选项中,使用 contentType: 'application/json' 以便服务器知道数据负载中的预期内容。最好明确一点。

此外,如果您使用 dataType 选项,请确保您的服务器始终在其响应中返回 json,即使它只是 {}。如果你的服务器没有返回任何内容,jQuery 会认为这是一个错误。

有关详细信息,请阅读 jQuery ajax docs 中的 dataType -> json 部分。 .

关于Firefox 和 Nodejs 的 jQuery Ajax POST 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com