1

これはAJAXでの私の最初の試みであり、data.phpファイルから出力を取得できません。

これまでのコードは次のとおりです。すべてのコードが含まれているわけではなく、該当するものだけが含まれています。

index.php

<article class="post">
    <form name="form"><input type="hidden" name="postid" value="<?php echo $value['post_id'];?>" />
   </article>

<div id="main-post">
<div id="gotpostid">some text</div>
</div>

.jsファイル

$(".cover-img").click(function(){
    $("#main-post").fadeIn(1000);
    $.post("data.php", {postid: form.postid.value},
        function(output){
              $("#gotpostid").html(output).show();
    });   
 });

data.php

<?php

    echo 'got this from data.php';
?>

data.phpファイルは.jsと同じディレクトリにあります。

現在、画像をクリックすると「main-post」divが表示されますが、その中の「gotpostid」には「一部のテキスト」のみが表示され、phpファイルからの出力テキストに置き換えられません。

これは、次のコードを追加した結果です。

.fail(function(x,y,z){ $("#gotpostid").html(x + "<br />" + y + "<br />" + z)})

[オブジェクトオブジェクト]エラーが見つかりません

.fail()を追加するためのKevinBの提案のおかげでエラーが見つかりました。

.phpファイルのURLが正しくありませんでした。正しいはずjs/data.phpです。

4

2 に答える 2

1

ajax ハンドラーにエラー メソッドを追加して、予期しないことが起こっているかどうかを確認します。

$(".cover-img").click(function(){
    $("#main-post").fadeIn(1000);
    var jqxhr = $.post("/echo/html/", {postid: form.postid.value},
        function(output){
              $("#gotpostid").html(output).show();
    })
    .error( function()
    {
        console.log( "error" );      
    })

    return false;
 });​
于 2012-06-08T19:14:02.013 に答える
0

まだ行っていない場合は FireBug をインストールし、応答関数内で console.log(output) を実行します。あなたの反応が見えますか?

于 2012-06-08T19:05:06.440 に答える