ajax 跨域调用webservice 使用jsonp解决方法

 

前端 :

$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json;charset=utf-8", //WebService 会返回Json类型
url: "http://localhost:42072/WebService/Service.asmx/HelloWorld?jsonpcallback=?", //调用WebService
data: "{}",
dataType: 'jsonp',
success: function(response) { //回调函数,result,返回值

//var json = eval('(' + response+ ')');
alert(response.name);

}
});

 

后端:

[WebMethod]
public void HelloWorld()
{
Context.Response.ClearHeaders();

Context.Response.Charset = "UTF-8";

Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
JavaScriptSerializer js = new JavaScriptSerializer();
string jsonpCallback = HttpContext.Current.Request.QueryString["jsonpcallback"];
person p = new person();
p.name = "Hello World";
string jsonStr = js.Serialize(p);

jsonStr= jsonpCallback + "(" + jsonStr + ")";

Context.Response.Write(jsonStr);

Context.Response.End();

}
class person
{
public string name;
}

转载于:https://www.cnblogs.com/wdnrsjd/p/8820168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值