我正在尝试使用 jQuery/ajax 发布到 Restheart/MongoDB 服务器,但有些困难。返回的响应就像我运行的是 GET 而不是 POST。而且它似乎也在尝试执行响应,就好像它是一个回调一样。我猜那是因为我使用的是 jsonp (?)。但是如果我不使用 jsonp,我会收到一个 CORS 错误(我的数据库服务器与我的开发计算机不同)。但是我为 Allow-Origin 设置了标题:*. 想法?
myHeaders = {"Authorization":"Basic " + 'user:password'.toString('base64'),
"Content-Type":"application/json; charset=utf-8",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": "*"
}
$.ajax({
method: "POST",
crossDomain: true,
contentType: "application/json",
headers: myHeaders,
dataType : 'jsonp',
jsonp: 'jsonp', // mongod is expecting the parameter name to be called "jsonp"
url: "http://mydomain:80/db/people",
data: JSON.stringify({ "name": "John", "location": "Boston" }),
success: function (data) {
console.log('success' + data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log('error', errorThrown);
}
})
这是我尝试 GET 请求时来自 Firefox 的错误截图。你可以看到我传递了适当的标题(我相信)。