JQuery跨域调用WebService



1.添加引用using System.Web.Script.Services;

2.在类名上添加[ScriptService]

3.方法的返回类型必须为Void类型

4.方法返回数据方式如下
string callback = HttpContext.Current.Request.QueryString["jsoncallback" ];//关键点
string jsonStr = string.Format("{0}({1})" , callback, "{\"cc\":\"1\"}");
HttpContext.Current.Response.ContentType = "application/json" ;
HttpContext.Current.Response.Write(jsonStr);//关键点
5.JQuery调用
var AjaxUrl ="http://127.0.0.1:8011/Service1.asmx/GetUser?userCode=zj&jsoncallback=?";//关键点&jsoncallback=?
//Get方式:
           $.getJSON(AjaxUrl, function (data)
            {
                alert(data.cc);
            });
//Post方式:
            var jsonData = { "userCode":"zj" };
            $.ajax({
                type:"post" , url: 'http://10.249.70.24:8002/Service1.asmx/GetUser?jsoncallback=?', data: jsonData, async: false ,
                contentType:"application/json; charset=utf-8" , dataType:"json", success: function(msg)
                {   // Do something interesting here.
                    alert(msg.cc);
                }
             });


     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery跨域请求Web Service可以使用JSONP技术来实现。JSONP是一种跨域数据交互的方式,它利用了`<script>`标签可以跨域访问的特性,通过动态创建`<script>`标签来加载返回指定格式数据的JavaScript文件,从而实现跨域请求数据的目的。 在使用jQuery进行JSONP请求时,需要将`dataType`参数设置为`jsonp`,并在`url`参数中添加一个回调函数的参数名,用于指定回调函数的名称。Web Service需要将返回数据包裹在回调函数中,以便客户端在收到数据后能够正确的解析和处理。具体用法如下: ```javascript $.ajax({ url: "http://example.com/MyWebService.asmx/MyMethod?callback=?", method: "GET", dataType: "jsonp", success: function(data) { console.log(data); }, error: function(error) { console.error(error); } }); ``` 其中,`url`表示Web Service的请求地址,需要将回调函数的参数名设置为`callback=?`,`method`表示请求的方法为GET,`dataType`表示请求的返回数据类型为JSONP格式。在`success`回调函数中,可以通过`data`获取返回的数据内容。在`error`回调函数中,可以处理请求失败的情况。Web Service需要将返回数据包裹在回调函数中,回调函数名由客户端指定。例如,如果客户端指定的回调函数名为`myCallback`,则Web Service返回的数据应该如下所示: ```javascript myCallback({"result": "success"}); ``` 其中,`{"result": "success"}`表示返回的数据内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值