我有以下基本代码。我尝试调试这段代码,但是调试javascript非常痛苦,而且我不知道失败的地方:
jQuery.support.cors = true;
var packet = {
Image: imageAsString,
PhnType: phoneType,
PhnMdl: phoneManufacturer
};
$.ajax({
url: "https://molecheckerservices2.azurewebsites.net/api/Testing/SubmitTestingData",
type: "POST",
dataType: "json",
data: JSON.stringify({ packet }),
success: function(data, textStatus, xhr) {
alert('yes');
window.localStorage.setItem("dataObject", JSON.stringify(data));
window.location = "results.html";
},
error: function (xhr, textStatus, errorThrown) {
alert('no');
window.localStorage.setItem("dataObject", JSON.stringify([.33, .33, .33]));
window.location = "results.html";
}
它给了我一个警告号,这与失败相对应。另外,当我调试时,我在我的Javascript控制台中看到错误:
无法加载资源:服务器响应状态为400(错误请求)
弹出。我试着查看这意味着什么,但我会非常感激任何问题的具体建议!
答案 0 :(得分:0)
打开Fiddler并手动POST
到您的终端。如果您这样做,您将看到我看到的相同错误消息:
{"message":"No API version was specified in the request, this request needs to specify a ZUMO-API-VERSION of '2.0.0'. For more information and supported clients see: http://go.microsoft.com/fwlink/?LinkId=690568#2.0.0"}
它为你提供了一个方便的花花公子链接。此外,here is a SO answer可能适用于您。
我确实添加了上面提到的标题,对请求表示反感,我收到了来自您服务的甜蜜200
回复,因此我非常确定您的问题。
P.S。如果您不希望随机陌生人像我刚才那样在您的应用中插入数据,那么您应该保护您的服务,或者在公开提及时至少对网址进行模糊处理。