执行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)

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

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

打开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。

相关文章: