这是我第一次尝试使用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)})
找不到
我发现错误主要归功于Kevin B建议添加.fail()。
.php文件的网址不正确,应该是js/data.php
。
答案 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(输出)。你看到了你的回答吗?