AJAX Error: 400 Bad Request
AJAX Error: 400 Bad Request
我正在使用 mithril.js 连接我的节点后端。我正在关注在 AJAX 请求中添加的文档,而其他地方几乎没有关于秘银的文档。
无论如何,错误:
mithril.js:2130 POST http://localhost:3000/api/stocks 400 (Bad Request)
ta @ mithril.js:2130
ua @ mithril.js:2138
k.request @ mithril.js:2227
vm.add @ app.js:24
(anonymous) @ mithril.js:1246
mithril.js:2197 Uncaught SyntaxError: Unexpected token < in JSON at position 0
at parse (<anonymous>)
at Object.a.onload.a.onerror (mithril.js:2197)
at XMLHttpRequest.d.onreadystatechange (mithril.js:2102)
a.onload.a.onerror @ mithril.js:2197
d.onreadystatechange @ mithril.js:2102
mithril.js
vm.add = function() {
var data = vm.symbol();
if (vm.symbol()) {
m.request({method: 'POST',
url: '/api/stocks',
data: data,
unwrapSuccess: function(response) {
return response.data;
},
unwrapError: function(response) {
return console.log(response.error);
}
});
vm.list.push(new app.Stock({symbol: vm.symbol()}));
vm.symbol("");
}
};
routes/index.js(节点)
router.post('/api/stocks', function(req, res) {
Stocks.create({
stock: req.body.text, //stocks
date_added: new Date(), //Date
}, function (err, stocks) {
if (err) {
res.send(err);
} else {
Stocks.find(function(err, stocks) {
if (err) {
res.send(err);
} else {
res.json(stocks);
}
});
};
});
});
有什么想法吗?
谢谢。
这个问题是因为 Mithril 自动假定数据会在 JSON 中。我试图发送纯文本。 Mithril 对此有一个方法,叫做 "deserialize"。
反序列化不起作用,所以我再次查看并表示不喜欢没有 JSON 的事实,所以我将数据转换为 JSON 然后 POST 请求工作正常。
我正在使用 mithril.js 连接我的节点后端。我正在关注在 AJAX 请求中添加的文档,而其他地方几乎没有关于秘银的文档。
无论如何,错误:
mithril.js:2130 POST http://localhost:3000/api/stocks 400 (Bad Request)
ta @ mithril.js:2130
ua @ mithril.js:2138
k.request @ mithril.js:2227
vm.add @ app.js:24
(anonymous) @ mithril.js:1246
mithril.js:2197 Uncaught SyntaxError: Unexpected token < in JSON at position 0
at parse (<anonymous>)
at Object.a.onload.a.onerror (mithril.js:2197)
at XMLHttpRequest.d.onreadystatechange (mithril.js:2102)
a.onload.a.onerror @ mithril.js:2197
d.onreadystatechange @ mithril.js:2102
mithril.js
vm.add = function() {
var data = vm.symbol();
if (vm.symbol()) {
m.request({method: 'POST',
url: '/api/stocks',
data: data,
unwrapSuccess: function(response) {
return response.data;
},
unwrapError: function(response) {
return console.log(response.error);
}
});
vm.list.push(new app.Stock({symbol: vm.symbol()}));
vm.symbol("");
}
};
routes/index.js(节点)
router.post('/api/stocks', function(req, res) {
Stocks.create({
stock: req.body.text, //stocks
date_added: new Date(), //Date
}, function (err, stocks) {
if (err) {
res.send(err);
} else {
Stocks.find(function(err, stocks) {
if (err) {
res.send(err);
} else {
res.json(stocks);
}
});
};
});
});
有什么想法吗?
谢谢。
这个问题是因为 Mithril 自动假定数据会在 JSON 中。我试图发送纯文本。 Mithril 对此有一个方法,叫做 "deserialize"。
反序列化不起作用,所以我再次查看并表示不喜欢没有 JSON 的事实,所以我将数据转换为 JSON 然后 POST 请求工作正常。