我有一个页面,我试图做一个AJAX调用,但它不工作,我很难理解为什么。我的电话是:AJAX URL问题...很奇怪
$.ajax({
type: "GET",
url: "<relative URL>/index.php?action=x",
dataType: "JSON"
}).success(function(person) {
alert(person.name) //alerts naem
});
return false;
});
和PHP是:
<?
if($_GET["action"] == "x"){
$person = array("name"=>"Jon Doe","Reputation"=>"Good");
header("Content-Type: application/json");
echo json_encode($person);
}
?>
我不认为这个问题是一个错误的URL,因为这是工作电话的C/P。在我看来(但我不确定)它选择重新使用原始加载源页面时的旧“操作值”。出于某种原因,它完全忽略了我的行动价值......?
任何想法?
如果您使用浏览器的控制台,您是否看到正在发送的网络呼叫?如果是这样,你可以看看回应是什么。那会告诉你它是否真的返回一些东西。如果是这样的话,也许你可以用前面提到的评论者提到的.done替换.success(尽管这取决于你的jquery版本)。其次,你不能直接在php和jquery之间传递json。我相信你首先必须通过$ .parseJSON(人)传递返回值,那么你可以访问该属性作为person.name – lonewolf217 2014-10-03 15:02:26
。成功是正确的,我一直在使用它 – 2014-10-03 15:03:51
你不需要使用$ .parseJSON作为他已经将数据类型设置为JSON,并且他从服务器返回JSON – 2014-10-03 15:05:30