支持ajax跨域调用的WCF搭建示例

前端之家收集整理的这篇文章主要介绍了支持ajax跨域调用的WCF搭建示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

支持ajax 跨域调用的WCF搭建

1.新建一个"ASP.NET空Web应用程序"项目。

2.新建一个“WCF服务(支持ajax)”。

3.修改WCFAjaxService.svc下的WCFAjaxService.svc.cs文件

如下所示(示例):

namespace WCF_Ajax跨域调用示例
{
    [ServiceContract(Namespace = "WCF_Ajax跨域调用示例")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    [JavascriptCallbackBehavior(UrlParameterName = jsoncallback")]
    public class WCFAjaxService
    {
        [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        public List<UserInfo> GetUser()
        {
            return new List<UserInfo>(){
            new UserInfo(){Id=1,Name=jayjay1"},2,0)">jayjay2"}};
        }
    }

    [DataContract]
    class UserInfo
    {
        [DataMember]
        int Id { get; set; }
    [DataMember]
    string Name { set; } } }

注意别忘了给Service打上

[JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")]

标记

4.修改Web.config配置文件

<system.serviceModel> bindings> webHttpBinding> binding name="HttpJsonBinding" crossDomainScriptAccessEnabled="true"></binding</behaviors> endpointBehaviors> behavior ="AjaxServiceAspNetAjaxBehavior"> enableWebScript /> behaviorserviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled/> servicesservice ="AjaxService"endpoint address="" behaviorConfiguration="AjaxServiceAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration contract="AjaxService" /> service> >

注意,配置文件添加

>

节点,并在endpoint节点中添加

bindingConfiguration="HttpJsonBinding"

5.调用方式

在另一个网站中使用

$.ajax({
                url: "http://localhost:46318/WCFAjaxService.svc/GetUser?jsoncallback=?",type: "get",dataType: "jsonp",success: function (data) {
                    alert(data[0]);
                }
            });

调用

从返回报文中可以看出数据以jsonp格式跨域返回。

jsonp1430098026913([{"__type":"UserInfo:#WCF_Ajax%E8%B7%A8%E5%9F%9F%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B","Id":1,"Name":"jayjay1"},{"__type":"UserInfo:#WCF_Ajax%E8%B7%A8%E5%9F%9F%E8%B0%83%E7%94%A8%E7%A4%BA%E4%BE%8B","Id":2,"Name":"jayjay2"}]);

data[0]指的是取第一个json对象,如 data[0].Name取到“jayjay1” 。


转自 http://www.cnblogs.com/sunniest/p/4459130.html

原文链接:https://www.f2er.com/ajax/163361.html

猜你在找的Ajax相关文章