Jquery - 尝试从php文件中检索输出

时间:2012-06-08 18:49:59

标签: php jquery ajax post

这是我第一次尝试使用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。

位于同一目录中

目前,当我点击图片时,它会显示“主帖”div,但其中的“gotpostid”仍然只显示“some text”,并且不会将其替换为php文件中的输出文本。 / p>

这是添加以下代码的结果:

.fail(function(x,y,z){ $("#gotpostid").html(x + "<br />" + y + "<br />" + z)})
  找不到 [object Object]错误

我发现错误主要归功于Kevin B建议添加.fail()。

.php文件的网址不正确,应该是js/data.php

2 个答案:

答案 0 :(得分: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;
 });​

答案 1 :(得分:0)

如果尚未安装FireBug,请安装FireBug,并在响应函数内部执行console.log(输出)。你看到了你的回答吗?