0

jQuery を使用して単純な ajax 呼び出しを作成しましたが、送信ボタンを押すたびに何も返されません。それは奇妙です。Firebug にエラーはありません。ajax ファイルは存在します。何が悪いのか途方に暮れています。

<script type="text/javascript" >

$('#post').click( function () {
var user_id = 1;
var receiver = 3;
var message = $('#message').val();
var the_type = $('#hidden').val();
    $.post('ajax_posting.php', 
    {
    user_id : user_id,
    receiver : receiver,    
    the_type : the_type,
        message : message   
    }, 
    function(data){
    $(data).appendTo('#response');}
    )});    

</script>




<form method="post">

    <input type="hidden" id="hidden" value="asdf" />

    <textarea id="message"></textarea>

    <input type="button" id="post"  value="Submit"/>

</form>

<div id="response"></div>
4

1 に答える 1

3

要素が作成される前にハンドラーを設定して、ハンドラーを設定する前にDOMがロードされるようにすることができます $(document).ready でラップします

また、フォームが使用を送信しないようにする必要がありますevent.preventDefault()

$(document).ready(
    $('#post').click( function (event) {
        var user_id = 1;
        var receiver = 3;
        var message = $('#message').val();
        var the_type = $('#hidden').val();
        $.post('ajax_posting.php', 
            {
                user_id : user_id,
                receiver : receiver,    
                the_type : the_type,
                message : message   
            }, 
            function(data){
                $(data).appendTo('#response');
            }
        );
        event.preventDefault()
    }); 
);
于 2012-08-20T02:23:12.007 に答える