Jquery以JSON方式调用WebService

本文介绍如何配置WebService以支持JSON格式返回,并使用jQuery进行调用。包括WebService端的配置及jQuery客户端脚本编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<webServices>
<protocols>
<add name="HttpPost" />
<add name="HttpGet" />
</protocols>
</webServices>

 

 

今天测试了用jquery调用webservice,调用是没问题的,可是默认的webservice是返回给我们xml格式的,

这样对对于我们后续的操作很不方便,于是查找了 使用 json格式传送,始终没能够成功,后来参考了下 京东的 调用,终于知道原因所在了。。呵呵

 

 

Jquery以JSON方式调用WebService 

 

在webservice中需要添加如下节点(在 system.web节点下)

 

 

1、首先根据webservice类里面的提示修改
    
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]

 

2、然后在webservice中需要返回json数据的方法加上如下属性
     
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]

   ScriptMethod在 using System.Web.Script.Services 命名空间下,这里还可以设置是否使用 get方式来调用 UseHttpGet=true

 

3、最后写jquery调用脚本

function doJSON() {
$.ajax({
url:
"http://localhost:11143/MyApplicationService.asmx/TestMethod",
data: {ssokey:
"'" + ssokey + "'"},
dataType:
"JSON",
contentType:
"application/json; charset=utf-8",
success:
function (data) {
alert(data);
}
});
}

 

   这里有几个地方需要注意的,否则不成功

   a、data: {ssokey:"'" + ssokey + "'"}   -- 这里我传递了参数,需要这种写法,一定要写成 json对象,否则失败(这个地方折腾了好久。。。)

   b、dataType: "JSON" ---- 这里告诉 jquery 以 json格式传递

   c、ontentType: "application/json; charset=utf-8" --- 设置head 里面使用  json传递

上面三点都注意到以后就应该可以成功的调用并返回 json对象了

返回的json 对象是被保证在 d 对象中的,大家 alert一下就知道了,类似这种  

  {"d":"恭喜!认证成功!"}

 

 

上面就是今天“研究”的结果。。。

转载于:https://www.cnblogs.com/bboy/archive/2010/09/20/1831794.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值