2009-07-26 32 views
1

私は通常、ページリフレッシュ/フォームの提出で処理するjQueryを使用していくつかの機能を書いています。jQuery ajaxの問題

基本的には、jQueryのajaxを使用してフォームを送信しています。

<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です。私はこのオブジェクトを操作するのか、それとも私が必要としないものでしょうか。

私の問題は、ユーザーがWebページ上のフォームを使用して回答を投稿させたいが、ページを再読み込みせずに他のすべてのユーザーの応答の先頭にHTMLを付加することです。フォームがポストされたページはいくつかのHTMLを印刷しますが、応答がXMLHttpRequestオブジェクトであるため、そのHTMLをページに表示させることはできません。私は一種の迷子だ。誰かが私を正しい方向に向けることができますか? (

VAR RET = $ .post( "post.php"、$( "#コメントフォーム")シリアライズ:

答えて

3

あなたはcallback関数のパラメータを使用する必要がありますサーバ。

2

は三番目のパラメータとしての機能を指定し、データがコールバックで返されるべきです。 )、function(data){ $(data).appendTo( 'body'); });

XHRオブジェクトと対話する必要はありません。詳細情報については:非同期要求が終了したときにその関数が実行され、その最初のパラメータは、データから返される

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

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