步驟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的簡單實例的全部內容了,希望對大家有所幫助,多多支持錯新站長站~
新聞熱點
疑難解答
圖片精選