webservice返回Json情况
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">{ "state": { "return": "true", "info": "", "code": "" } }</string>
以上是webservice通常返回的XML格式
现在要求返回如下:
{ "state": { "return": "true", "info": "", "code": "" } }
就是点击调用webservice直接返回的页面显示
{ "state": { "return": "true", "info": "", "code": "" } }
调用的时候不用JS调用,而是通过http://localhost/INA_WebService/Service.asmx/login直接调用
------解决方案--------------------启用(取消前面的注释)[System.Web.Script.Services.ScriptService]
[WebMethod]的特性 [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 这句都可以不要,这句加上了返回的也仍然是xml格式。
关键在下面的设置。
JQuery.ajax({
url: "WebService.asmx/test2",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: "{}", //这个不能少 如果带参数要先用encodeURI编码
success: function(json) {
alert(json);
}
});
jQuery调用WebService返回JSON数据
------解决方案--------------------改你的接口,返回json内容就行了,跟返回xml没什么区别,如果改不了接口,就自己解析吧
------解决方案--------------------你这个客户真可以
要么你妥协 给他个新链接 直接返回json
要么客户妥协 接受你的webservices 返回的数据
你感觉哪个可能性大?
------解决方案--------------------在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:简单对象访问协议.
3.WSDL:Web服务描述语言.
4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
------解决方案--------------------或者你写个库 让客户去调用 就简单的一个 toJson 方法
------解决方案--------------------
[WebMethod]
public void HelloWorld()
{
Context.Response.Write("{ \"state\": { \"return\": \"true\", \"info\": \"\", \"code\": \"\" } }");
Context.Response.End();
}
------解决方案--------------------http://blog.csdn.net/fangxinggood/article/details/6279233