前端调用WebServices时处理后台总是返回xml格式数据问题
·
解决这个问题可以从两前端、后台两方面考虑
一. 前端jquery调用时 设置下返回类型就可以
$.ajax({
data: cc,
url: "http://localhost:3330/asmx/test.asmx/GetPerson",
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
beforeSend: function (t) {
t.setRequestHeader("Content-type", "application/json; charset=utf-8");
},
success: function success(data) {
var youdata= JSON.parse(data.d);
},
error: function (t, a) {
}
});
虽说返回类型是json,但是也就仅仅是格式化了最外边的D,里面的数据还需要继续进行格式化,至于为什么要用data.d来获取结果可以查下webservices的用法 默认是以d来标记结果的。
当然还可以使用下面方法来获取 (如果data是个字符串,使用 eval("("+data+")") 可以将data转化为json对象,和JSON.parse的功能一样)
$.ajax({
data: cc,
url: "http://localhost:3330/asmx/test.asmx/GetPerson",
type: "POST",
dataType: "text",
contentType: "application/json;charset=utf-8",
beforeSend: function (t) {
t.setRequestHeader("Content-type", "application/json; charset=utf-8");
},
success: function success(data) {
var data = eval("(" + data + ")");
var youdata= JSON.parse(data.d);
},
error: function (t, a) {
}
});
二.从后端来说在方法前加个简单的标记就可以
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)