首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

超简单,关于jquery怎么得到asmx的返回值

2012-03-08 
超简单,关于jquery如何得到asmx的返回值JScript code$.ajaxSendMsg function(data, fnSuccess, fnError)

超简单,关于jquery如何得到asmx的返回值

JScript code
$.ajaxSendMsg = function(data, fnSuccess, fnError) {    $.ajax({        type: "POST",                url:  "xxx",        contentType: "application/json; charset=utf-8",        dataType: "json",        data: data,        cache: false,        success: fnSuccess,                erro: fnError    });

前台程序
JScript code
        $.ajaxSendMsg(paramData,             function(data) {                alert(data);   // 无值                alert(data.d); // 返回的String值                var result   = data.d.find("msg").text();      // 执行出错,呵呵,不懂                          alert(result);                return;



后台asmx里面
 
C# code
   [WebMethod]        /// <summary>        /// sendMessage, send message        /// </summary>        public String sendMessage(int chatId, int sendType, String msgData)        {              return “test";         }


问题1:为什么后台返回String,前台要用data.d才能取得?.d表示什么意思啊,还有find是什么意思啊,这个算jquery还是html还是方法撒
问题2:如果后台返回的是一个自定义类对象,前台怎么取得呢?是不是要做特殊处理啊
问题3:查了很多资料,很乱,像我现在这样的写法,前台一直取不到值,应该查什么资料看撒,

[解决办法]
2.序列化成JSON字符串
[解决办法]
探讨
如果我在asmx中写public class xxx返回个对象,那是不是在前台永远都取不到啊

[解决办法]
1.data.d 这是json对象取值的方式。返回的数据格式是json,jquery帮你自动序列化了。
也可以使用data["d"]索引的方式取值,可以把json当作对象的数组。
find是jquery里面封装的一个函数,可以方便查找。详细的你查考jquery api文档。

2.如果后台WS返回的是对象,jquery 会自动帮你序列化成json对象的。
假如你返回的是一个Person类(里面包含id、name两个属性)的对象,你可以使用Data.name或者Data["name"]
去取值,很方便的。

3.你先理解什么是json数据格式吧。然后再熟悉jquery 的API文档。
[解决办法]
参考
jQuery通过调用webservice返回json数据的问题

这里有详细介绍


更多问题参考
jquery webservice json

热点排行