在http://www.cnblogs.com/lei2007/archive/2013/02/20/2919326.html
中Demo3 是跨域調用的Demo,這裡總結一下 ajax非同步同域調用的Demo
第一: view層代碼:
//使用get方式,data的資料格式和平時一樣;而post方式,data預設是JSON格式。 function funAjaxWcf() { jQuery.ajax({ type: "post", dataType: "json", url: "StudioMenuInitService.svc/Hello", contentType: "application/json; charset=utf-8", success: function (json) { //結果被封裝到json.d屬性中,資料契約中定義的成員或者資料都能取到 alert(json.d) }, error: function (error) { alert("調用出錯" + error.responseText); } }); }
View Code
第二: WebConfig 配置:
<behaviors> <serviceBehaviors> <behavior name="Web.StudioMenuInitServiceBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> <!--增加一個endpoint的Behavior,命名為AjaxBehavior,為其下加一個enableWebScript節點,表示允許使用指令碼訪問--> <endpointBehaviors> <behavior name="AjaxBehavior"> <enableWebScript/> </behavior> </endpointBehaviors> </behaviors> <services> <!--<service>節點有兩個屬性:name實現服務的類的名稱(即命名空間+類名)和behaviorConfiguration服務的行為名稱,可以為空白.--> <service behaviorConfiguration="Web.StudioMenuInitServiceBehavior" name="Web.StudioMenuInitService"> <!--指定服務指定的服務契約類型、通訊綁定(Binding)和Behavior的綁定--> <!--<address>:指定enpoint的地址。地址必須為合法的Url格式,可以使相對路徑也可以是絕對路徑。address屬性值可以為空白,但是這個屬性必須存在。 如果address值為空白,那麼地址就是之前定義的baseAddresses中的地址。 <bindingConfiguration>:可選屬性。除非有自訂的繫結原則,否則不要設定這個值。 <bingding>:指定使用的繫結原則,此屬性為必要屬性。 <contract>:該屬性也是必要屬性。它指定服務契約的類型,推薦使用介面來定義契約,並在這裡使用介面的全名稱。(如果不是有介面定義,也可以使用命名空間+類名來定義)。 --> <!--使用webHttpBinding除非有自訂的繫結原則,並且標明使用上面定義的AjaxBehavior--> <endpoint address="" binding="webHttpBinding" contract="Web.IStudioMenuInitService" behaviorConfiguration="AjaxBehavior"> </endpoint> </service> </services>
webconfig Code
圖示:
第三:wcf 裡面的配置
以上三點是親自測試的過,下面是參考前輩的,注意參數傳值。
View Code
function call(){ var id = Number($("#id").val()); var title = String($("#title").val()); var content = String($("#content").val()); $.ajax({ type: "post", url: "http://localhost:7000/Service1.svc/Request", data: '{"id":' + id + ',"title":"' + title + ,"content":"' + content + '"}', contentType: "application/json; charset=utf-8", success: function(json) { alert(json) }; error: function(error) { alert("調用出錯" + error.responseText); }
Tks:http://www.cnblogs.com/happycat1988/archive/2013/04/09/3009263.html