1

这是我第一次尝试 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';
?>

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

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

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

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

[object 对象] 错误未找到

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

.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 回答