【问题标题】:Ajax Call Windows8 PermissionAjax 调用 Windows8 权限
【发布时间】:2014-10-26 18:51:51
【问题描述】:

我遇到了一个奇怪的问题,我认为是权限问题,但不知道问题出在哪里?当我点击一个按钮时,我创建了一个简单的 html 测试页面来对我的网络服务器进行 ajax 调用。

jQuery.support.cors = true;
    var pageUrl = 'http://webservice.svn/WebService1.asmx';

   $.ajax({
        type: "POST",
        url: pageUrl + "/Helloworld",
        data: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            alert(response.d);
        },
        error: function (response) {
            alert(response.status + " " + response.statusText);
        }
    });

使用 URI 地址 http://mobile.svn/test.html 运行 html 页面 - 我收到错误 0,但以 URI 运行 - c:\Mobile\test.html 它返回 Hello World。所以我可以看到它是通过 IIS 运行时失败的 ajax 我正在运行 Windows 8.1 谢谢

更新

【问题讨论】:

  • 错误 0 通常表示 CORS 错误,由于某种原因无法发出请求。您在浏览器的控制台中收到什么错误消息?这应该会给你一些更具体的东西。
  • 感谢您的快速响应,所以这似乎是某种 CORS 错误,但如果我将 support.cors 设置为 false,我会收到无传输错误

标签: javascript jquery html ajax permissions


【解决方案1】:

感谢阿布米歇尔!你把我引向了正确的方向。 我的 web 服务在 webconfig 中没有 customHeaders... :-)

<customHeaders>
   <add name="Access-Control-Allow-Origin" value="*" />
   <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE"/>
   <add name="Access-Control-Allow-Headers" value="Content-Type, Accept"/>
</customHeaders>

【讨论】:

    【解决方案2】:

    这是因为发布请求的跨域资源共享 (CORS)。发布跨域请求被浏览器安全性阻止。

    在这里你可以找到一些帮助

    http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/

    【讨论】:

    • 虽然这是真的,但您的回答并未提供任何解决问题的答案
    猜你喜欢
    • 2011-01-12
    • 2013-08-31
    • 2020-11-29
    • 1970-01-01
    • 2016-06-11
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    相关资源
    最近更新 更多