执行对web api的ajax调用时抛出的错误

时间:2016-09-26 00:27:58

标签: c# asp.net-web-api

我有以下基本代码。我尝试调试这段代码,但是调试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(错误请求)

弹出。我试着查看这意味着什么,但我会非常感激任何问题的具体建议!

1 个答案:

答案 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。如果您不希望随机陌生人像我刚才那样在您的应用中插入数据,那么您应该保护您的服务,或者在公开提及时至少对网址进行模糊处理。