Asp.Net开发的WebService输出JSON格式

本已经做好的Asp.net 2.0 to WebService,客户需要输出JSON的格式(不要SOAP XML),只能进行修改。

修改步骤如下:

1、给VS2005安装ASPAJAXExtSetup.msi,Ext中存放了JSON格式化的方法。

2、项目中增加引用System.Web.Extensions (.Net)。

3、Web.Config 中在<system.web>下增加配置节点 :

<httpHandlers>
	<remove verb="*" path="*.asmx"/>
	<add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory,
		System.Web.Extensions,
		Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
<webServices>
	<protocols>
		<add name="HttpPost"/>
		<add name="HttpGet"/>
	</protocols>
</webServices>
4、在Service.cs中相应修改。

(1)using

using System;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using System.Collections;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
(2)Namespace

[WebService(Namespace = "http://XXXXXXXXXX/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class Service : System.Web.Services.WebService {......}
(3)Function

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetMobileVerificationCode(string MobilePhone)
{return new JavaScriptSerializer().Serialize("1".ToString());}

用Html去调用JSON格式的WebService

<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript">
function testJson() {
$.ajax({
    type: "POST",
    url: "Service.asmx/GetMobileVerificationCode",
    data: "{MobilePhone:1}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
	var data = eval("(" + msg + ")");
	//alert(data);
	var t = "<div>";	
	t = t + "<span>" + data.MemberID + "</span>   <span>" + data.MemberName + "</span>   <span>" + data.MemberMobile + "</span><br />";	
	t = t + "</div>";
	$("#jsonDiv").html(t);
    },
    error: function(msg){
    
    }
});
}
</script>
<div><input type="button" value="Json" οnclick="testJson()" /></div>
<div id="jsonDiv" class="jsonDiv"></div>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值