首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery ajax问题

jQuery ajax问题
EN

Stack Overflow用户
提问于 2009-07-26 06:24:37
回答 2查看 116关注 0票数 1

我正在使用jQuery编写一些功能,我通常通过页面刷新/表单提交来处理这些功能。

基本上,我正在使用jQuery的ajax提交一个表单。

代码语言:javascript
复制
<html>
<head>
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>

<script type="text/javascript">

$(document).ready(function(){


    $("#show-comment-form").click(function(event){
        var ret =  $.post("post.php", $("#comment-form").serialize(), "", "html");
        $("#theComment").html("<strong>" + ret +"</strong>");
    });
});


</script>

</head>
<body>
Testing Stuff
<br /><a href="#" id="show-comment-form">Insert New Message</a><br />

    <div id="comment-form">
        <form name="form" id="form">
            <span>Enter Your Question Here</span>
            <textarea id="comment" name="comment"></textarea>
        </form>

    </div>

    <p id="theComment">

     avsailable
    </p>    


</body>

</html>

返回的对象是一个XMLHttpRequest。我是操纵这个对象,还是我可能不需要它。

我的问题是,我想让用户使用网页上的表单发布响应,但不需要重新加载页面,并在所有其他用户响应的开头添加html。表单发布到的页面会打印出一些超文本标记语言,但我无法将这些超文本标记语言显示在页面上,因为响应是一个XMLHttpRequest对象。我有点迷路了。谁能给我指个方向?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-26 06:28:42

您必须使用callback函数参数:

代码语言:javascript
复制
$("#show-comment-form").click(function(event){
    $.post("post.php", $("#comment-form").serialize(), function(ret){
      $("#theComment").html("<strong>" + ret +"</strong>");
    }, "html");
});

该函数将在异步请求结束时执行,其第一个参数是从服务器返回的数据。

票数 3
EN

Stack Overflow用户

发布于 2009-07-26 06:28:10

指定一个函数作为第三个参数,数据应该在回调中返回:

var ret = $.post("post.php",$("#comment-form").serialize(),function(data) { $(data).appendTo('body');});

您不应该需要与XHR对象交互。有关详细信息,请访问:

http://docs.jquery.com/Ajax/jQuery.post

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1183893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档