jquery ajax跨域请求webservice

有种方式可以通过JSONP方式来请求

这里具体介绍如何通过修改配置文件来实体AJAX跨域请求WEBSERVICE

 

 WEBSERVICE的类声名

    /// <summary>
    /// MobileService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    [System.Web.Script.Services.ScriptService]
    public class TestService : System.Web.Services.WebService
    {
    }

WEBCONFIG的修改

  开启允许POST GET请求

 <add name="HttpGet"/> 
<add name="HttpPost"/>
开启允许跨域请求
      <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
      <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
      <!--Value="*"不限制域名 -->
      <add name="Access-Control-Allow-Origin"  value="http://domain1.com, http://domain2.com" />
 
<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.0" />
      <webServices>
        <protocols>
          <add name="HttpGet"/>
          <add name="HttpPost"/>
        </protocols>
      </webServices>
      
    </system.web>
  <system.webServer>
    <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
      <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
      <!--Value="*"不限制域名 -->
      <add name="Access-Control-Allow-Origin"  value="http://domain1.com, http://domain2.com" />
    </customHeaders>
  </httpProtocol>
  <modules>
    <add name="MyHttpModule" type="WebServiceDemo.MyHttpModule"/>
  </modules>
  </system.webServer>
</configuration>

AJAX示例代码


$.ajax({
                type: "POST",
                url: "http://10.10.0.1:8888/XXXXX.asmx/XXXXX",
                dataType: "JSON",
                contentType: "application/json",
                data: { Data1: "HELLO", Data2: "WORD" },
                success: function (msg) {
                    alert(msg);
                }
            });

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。