如何通过js跨域调用WebService?
步骤1. 在web.config中的system.web节点里加入
<!--此节点可允许脚本跨域调用webservice--> <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices> <!--此节点可允许脚本跨域调用webservice-->
步骤2. webservice代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Mvc; namespace WebService { /// <summary> /// WebService1 的摘要说明 /// </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 WebService1 : System.Web.Services.WebService { [ValidateInput(false)] [WebMethod(Description = "测试")] public void getDBTableInfos(string EnterpriseCode) { HttpContext.Current.Response.ContentType = "application/json;charset=utf-8"; string jsonCallBackFunName = string.Empty; jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString(); HttpContext.Current.Response.Write(jsonCallBackFunName + "({ \"Result\": \"" + EnterpriseCode + "\" })"); } } }
步骤3. html页面部分
<!DOCTYPE html> <html> <head> <title>Index</title> <script src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#btnSubmit").click(function () { var EnterpriseCode = "39"; //企业代码 var dataStr = "EnterpriseCode=" + EnterpriseCode; $.ajax({ type: "get", url: "http://xxx/xxx.asmx/AntiWebQuery_Ajax?jsoncallback?", dataType: "jsonp", jsonp: 'jsoncallback', data: dataStr, success: function (result) { //返回结果 alert(result.Result); } }); }); }); </script> </head> <body> <div> <input id="btnSubmit" type="button" value="查询" /> </div> </body> </html>
以上就是小编为大家带来的js跨域调用WebService的简单实例的全部内容了,希望对大家有所帮助,多多支持路饭~
本文地址:http://www.45fan.com/bcdm/82153.html