所以我正在尝试使用ajax向NodeJS发送一个数组,问题是我一宣布
contentType: "application/json; charset=UTF-8"
它调用错误函数,我一直在搜索,但没有成功。
检查服务器端,它甚至从未接到电话,只是立即返回错误。如果我删除了contentType,则会调用服务器,但是我无法获取传入的数组。
这是我的ajax请求:
$.ajax({
type: 'POST',
url: 'http://localhost:1337/deposit?steamid=' + steamid,
data: {arr:items},
dataType: 'json',
contentType: "application/json; charset=UTF-8",
success: function(data) {
console.log("Tradeoffer has been sent");
},
error: function(data) {
alert("Failed to call bot, please inform us about this issue by DM'ing us at https://twitter.com/csgobeararms");
}
});
我的服务器端:
app.post('/deposit', function(req, res) {
console.log('Deposit request recieved, info:');
console.log('STEAM ID: ' + req.query.steamid);
console.log('ITEMS: ' + JSON.stringify(req.body.arr));
});
答案 0 :(得分:0)
contentType
是您要发送的数据类型,因此application/json
;默认值为application/x-www-form-urlencoded; charset=UTF-8
。
如果您使用 application / json ,则必须使用 JSON.stringify()才能发送JSON对象。
JSON.stringify()
将javascript对象转换为json文本并将其存储在字符串中。
$.ajax({
type: 'POST',
url: 'http://localhost:1337/deposit?steamid=' + steamid,
data: JSON.stringify({arr:items}),
dataType: 'json',
contentType: "application/json; charset=UTF-8",
success: function(data) {
console.log("Tradeoffer has been sent");
},
error: function(data) {
alert("Failed to call bot, please inform us about this issue by DM'ing us at https://twitter.com/csgobeararms");
}
});