我是Ajax的新手,并且一直在关注JQuery.com的教程。我已经设置了一个非常简单的脚本,当单击一个h2元素时,调用一个php脚本,返回一些用于替换当前h2内容的JQuery。以下是javascript内容:
$(document).ready(function () {
$('h2').click(function(e){
e.preventDefault();
var user = $(this);
$.post("ajax.php", {id: "1"}, function(xml) {
// format result
var result = [
"Thanks for rating, current average: ",
$("average", xml).text(),
", number of votes: ",
$("count", xml).text()
];
// output result
$(user).html(result.join(''));
} );
});
});
这是php脚本:
<?php
$av = 5;
$xml = "<ratings><average>$av</average><count>$av</count></ratings>";
header('Content-type: text/xml');
echo $xml;
?>
在Firefox中,我得到了预期的结果: “感谢评分,目前的平均值:5,投票数:5”
但在Chrome中我得到: “感谢评分,目前的平均值:,投票数:”
正如您所看到的,Chrome无法识别xml中传回的任何内容。我在一个常规的dreamhost托管帐户上运行它,而我没有添加到服务器。
非常感谢任何帮助。
此致 路加
答案 0 :(得分:0)
请检查chrome中变量xml
的内容。如果它是空的,请尝试设置
dataType明确地:
$.post("ajax.php", {id: "1"}, function(xml) {
// format result
var result = [
"Thanks for rating, current average: ",
$("average", xml).text(),
", number of votes: ",
$("count", xml).text()
];
// output result
$(user).html(result.join(''));
}, 'xml');