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

asp.net+jquery ajax,该如何处理

2013-02-25 
asp.net+jquery ajax才学习jquery的ajax,我现在在.net序列化出了一个xml文件,然后在jquery中准备解析这个x

asp.net+jquery ajax
才学习jquery的ajax,我现在在.net序列化出了一个xml文件,然后在jquery中准备解析这个xml文件显示到页面上,现在的问题就是我不知道怎么让jquery读取到这个xml,或者说是.net传递到jquery哪里去?初学,请高手指教!
jquery


$(function () {
    timestamp = 0;
    updateMsg();
    $("#chatform").submit(function () {
        $.post("chatroom.aspx", {
            message: $("#msg").val(),
            name: $("#author").val(),
            action: "postmsg",
            time: timestamp
        }, function (xml) {
            $("#msg").val("");
            addMessages(xml);
        });
        return false;
    });
    function addMessages(xml) {
        if ($("status", xml).text() == "2") return;
        timestamp = $("time", xml).text();
        $("message", xml).each(function () {
            var author = $("author", this).text();
            var content = $("text", this).text();
            var htmlcode = "<strong>" + author + "</strong>:" + content + "<br/>";
            $("#messagewindow").prepend(htmlcode);
        });
    };
    function updateMsg() {
        $.post("chatroom.aspx", { time: timestamp }, function (xml) {
            $("#loading").remove();
            addMessages(xml);
        });
        setTimeout('updateMsg()', 4000);
    }
})

后台代码就是xml的序列化,这个就不发了吧! jquery xml ajax asp.net
[解决办法]
引用:
引用:你的问题出在哪里? 
1,你先确定你ajax请求到处理的函数上了. 
2,ajax回调函数成功接收数据.
3,处理回调函数数据 ,至于什么json,xml 你都在处理.
4,你显示到你的控件上. 
你自己断点不就什么都清楚了?
请看清我的问题,谢谢。我问的是如何让jquery获取到asp.net后台序列化出来的x……

就简单的说 ,你后台函数已经从数据库里拿出了数据.然后序列化了 对不对??
序列化了,你后台是aspx界面.你response.write之后,ajax里面的
function (xml) {
            $("#msg").val("");
            addMessages(xml);
        } 


既是这里.肯定会接收到值的.你先alert下看看 ,确定收到没有.收到了 ,就随便你怎么搞了

[解决办法]
额,这个怎么说呢,,看了你的描述,只是感觉你对web交互的根本原理不太清楚,所以导致你会遇到这些疑惑,我以前也是学.net起家的,一开始就用.net来做web开发,一开始还好,跟着.net的框架来开发,用里面的控件,一般的web功能都能实现。但是自从开始接触了.net的ajax,updatepanel之后疑惑就开始一个接一个的出现了,反正是一头雾水,大概也遇到过你今天问的这种问题。

其实web交互是很简单的一个东西,就是客户端向服务器端发起http请求,然后服务器返回一段字符串或者说是一大段字符串,这些字符串被我们的浏览器解析之后就变成了一个可视化的网页,(当然其实网络传输的时候也不是传的字符串哈,是传的二进制文件,这个就先不深究了哈,不然说不完)。
但是.net的web开发为了降低程序的开发成本,所以他把.net下的web开发封装成了一个类似于.net桌面程序开发的东西,被称为web form,而你现在就是在web form 下面就行的开发学习。web form对于初学的程序员来说,用起来很简单,很容易上手,但是却让初学者看不清web开发的本质,让我们误入歧途。

在来说.net的ajax,这个东西就更坑爹了,因为.net的ajax是在web form的基础上做出来的,所以他的ajax交互也是封装了很多数据的,总而言之,.net下把web开发弄的很复杂了,遮住了原有的本质,建议先去完全弄懂web交互的原理。

上面你做的这个东西的话,在web form上面用jquery ajax其实是不可取的。但是如果非要做的话,一种正确的作法,你是应该再建一个获取xml数据的页面,但是这个页面应该使用后缀名为ashx的页面,ashx页面就是简单的web请求页面,免去了aspx页面的web from 的生命周期,效率更高,大概就说到这里吧,哦,对了,还有,你也应该去看看asp.net的生命周期
http://www.cnblogs.com/huangwj21/archive/2010/11/06/1870682.html

热点排行