欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery跨域調用wcf

郭娜娜1年前7瀏覽0評論

JQuery是一個非常流行的JavaScript編程庫,其集成了許多常用的功能和實用工具,特別是在Web開發中,使用JQuery可以實現跨瀏覽器的代碼和先進的效果。

然而,對于需要與傳統服務端通信的Web應用程序來說,JQuery可能會遇到跨域調用相關問題。為了解決這個問題,我們可以利用web服務WCF。

[OperationContract]
[WebGet(UriTemplate=”/getText/{id}”)]
[AllowCrossDomainAccess]
string getText(int id);
public class Service1 : IService1
{
public string getText(int id)
{
return “hello world”;
}
}
public class AllowCrossDomainAccessAttribute : Attribute ,IOperationBehavior
{
public void ApplyDispatchBehavior(OperationDescription desc,DispatchOperation op)
{
var newBehaviors = op.Parent.Behaviors.Find<WebHttpBehavior>();
if (newBehaviors != null)
{
newBehaviors.CrossDomainScriptAccessEnabled = true;
}
}
public void AddBindingParameters(OperationDescription desc,BindingParameterCollection params){ }
public void ApplyClientBehavior(OperationDescription desc,ClientOperation op) { }
public void Validate(OperationDescription desc) { }
}

在這個WCF服務例子中,我們設置了一個getText方法,它采用WebGet特性,使它可以通過HTTP GET請求單獨將數據返回給開發人員。我們還創建了一個自定義特性,AllowCrossDomainAccess,它啟用了跨域腳本訪問功能。最后,在WCF服務類上使用AllowCrossDomainAccess特性,以便將它注冊到操作行為列表中。

通過以上細節處理后,我們現在可以在JQuery中實現跨域調用全部完成。

$.ajax({
type: “GET”,
url: “http://localhost/Service1.svc/getText/”,
crossDomain: true,
dataType: “jsonp”,
success: function (data) {
alert(data);
},
error: function ()
{
alert(“An error has occurred”);
}
});

在JQuery代碼中,我們使用ajax方法,其中url屬性指定WCF服務中方法的URL地址,crossDomain屬性將跨域請求設置為真,dataType屬性被設置為jsonp,因為數據將返回一個JavaScript對象符號。

總之,通過WCF服務和JQuery庫,我們可以實現在現代JavaScript應用程序中對跨域的解決方案。