2012-06-08 26 views
1

这是我第一次尝试AJAX,并且无法从data.php文件中检索输出。Jquery - 尝试从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)}) 

[对象的对象]错误未找到

我发现错误大多由于凯文B的建议用于添加。失败()。

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

+0

可能想看看[这里](http://api.jquery.com/jQuery.ajax/ )。 – Steve

+0

你的代码看起来很好。它在做什么/不做什么? –

+0

@Kevin B嗨,我在底部添加了一个解释。 – crm

回答

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

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