【发布时间】:2014-09-28 23:37:37
【问题描述】:
我正在使用 nodejs 并尝试将 json 发送到我的服务器。该代码在 chrome 上完美运行,但在 Firefox 上我只收到错误回调,没有任何反应。我希望你们有一个想法。我真的很绝望 控制台日志:
“就绪状态:0”
“响应文本:未定义”
“状态:0”
“文本状态:错误”
“错误:”
这是我的 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");
});
【问题讨论】:
-
您的错误函数接收包含有用诊断的参数,请参阅 jQuery 文档。打印出这些诊断信息,您就会更好地了解发生了什么。
-
所以我尝试了错误:function(xhr,textStatus,err) { console.log("readyState:" + xhr.readyState); console.log("responseText:"+xhr.responseText); console.log("状态:" + xhr.status); console.log("文本状态:" + textStatus); console.log("错误:" + err); } 但我只得到未定义或“0”。
-
这是否产生了任何新信息?如果是这样,请将其添加到您的问题中。
-
在 Firefox 上安装 Firebug 扩展,激活 Firebug,在 Firebug 中启用 Net 面板,然后使用该面板分析来自/来自浏览器的请求和响应。从 Firefox 进行调用时记录的服务器端是什么?与 Chrome 有什么不同?
标签: jquery ajax json firefox post