我正在使用jQuery AJAX从PHP页面获取一些数据,并在占位符中使用加载GIF图像让用户知道结果正在进行中。奇怪的jQuery AJAX问题
$(".project").change(function(){
$(".custName").html("<img src='/admin/images/ajax-loader.gif' />");
$(".projectDesc").html("<img src='/admin/images/ajax-loader.gif' />");
var project_num=$(this).val();
var dataString = 'project='+ project_num;
$.ajax
({
type: "POST",
url: "customerfilter.php",
dataType: "json",
data: dataString,
cache: false,
success: function(data)
{
$(".custName").html(data.message1);
$(".projectDesc").html(data.message2);
}
});
});
当我点击扳机,打开了Firebug的控制台,我可以看到POST去和回来的数据是正确的。然而,加载gif永远不会消失,永远不会被正确的数据取代 - 不知道为什么!?
这是萤火虫的截图和响应窗口:
相对PHP:
while ($row = mysql_fetch_array($result)) {
echo json_encode(array(
"message1" => $row['cust_name'],
"message2" => $row['description'],
));
$结果是一个的mysql_query
告诉我们,回来,并可能产生它的PHP的数据。 – jondavidjohn 2011-01-10 15:17:02
检查'成功'回调是否有效。举一个console.log为例。当响应不是有效的json时,回调没有被正确调用。 – 2011-01-10 15:18:13