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


Jquery - Attempting to retrieve output from php file

这是我第一次尝试AJAX,无法从data.php文件中检索输出。

这是到目前为止的代码,并非所有代码都包括在内,只是适用的代码:

索引.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();
    });   
 });

数据.php

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

数据.php文件与.js位于同一目录中。

目前,当我单击图像时,它会显示"main-post"div,但其中的"gotpostid"仍然只显示"一些文本",而不会将其替换为php文件中的输出文本。

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

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

[对象对象] 错误未找到

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

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

向 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;
 });​

如果尚未完成,请安装 FireBug,并在响应函数中执行控制台.log(输出)。你看到你的回应了吗?