执行ajax调用web api时抛出错误
本文关键字:出错 错误 api ajax 调用 web 执行 | 更新日期: 2023-09-27 18:08:40
我有以下基本代码。我试图调试这段代码,但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";
}
它返回给我一个警告no,这与失败相对应。此外,当我调试时,我在Javascript控制台看到错误:
加载资源失败:服务器响应状态为400 (Bad Request)
弹出。我试图查找这意味着什么,但我会非常感激任何问题具体的建议!
打开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"}
里面有一个方便的链接。此外,这里有一个SO的答案可能适用于你。
我确实添加了上面提到的标题,重新发送请求,并且我收到了来自您的服务的甜蜜200
响应,所以我很确定这是您的问题。
注:如果你不希望随机的陌生人像我一样在你的应用中插入数据,你应该保护你的服务,或者至少在公开场合提到它时混淆URL。