【问题标题】:Failed to access remote web service using javascript client使用 javascript 客户端访问远程 Web 服务失败
【发布时间】:2015-03-23 20:47:13
【问题描述】:

我正在尝试使用 javascript 访问 .net 网络服务,但出现以下错误:

跨源请求仅支持以下协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。

这里是java脚本代码:

    var v = {"name":"zain",
            "password":"abc"
            }
 //           alert("wat");
            $.ajax({
                type: "POST",
                url: "webcare.azurewebsites.net/WCService.asmx/GetParent",
                data: JSON.stringify(v),
                contentType: "application/x-www-form-urlencoded",
                dataType: "json",
                success: OnSuccess,
                error: OnError
                            });

        }
        function OnSuccess(data, status)
        {
           alert("success: "+data.d);
        }

        function OnError(request, status, error)
        {
            alert("error: "+request.statusText);
        }

根据一个解决方案,该解决方案说要在我的 Web 服务旁边添加一个 clientaccesspolicy.xml 文件,但它仍然给出相同的错误。 这是我在 clientaccesspolicy.xml 中添加的代码

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

【问题讨论】:

  • 试试http://webcare.azurewebsites.net/WCService.asmx/GetParent作为网址
  • 它是否需要一个 SOAP 请求(来自 XML 文件)?因为您希望 ajax 调用中的响应是 JSON。
  • @YuriyGalanter 我添加了 http:// 现在错误已更改为:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。响应的 HTTP 状态代码为 500。
  • @dustmouse 不,它期待 json 结果。
  • 服务器必须允许 CORS 请求。这是使用标题完成的。

标签: javascript .net json web-services


【解决方案1】:

您还需要在适当的位置https://msdn.microsoft.com/en-us/library/cc197955%28VS.95%29.aspx 中有一个跨域xml 文件。查找“使用 crossdomain.xml 文件以允许跨域访问”。按照该文章中的说明进行操作。

【讨论】:

  • 我也这样做了。仍然收到internet server error 500
猜你喜欢
  • 2018-05-16
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
  • 2017-05-27
相关资源
最近更新 更多