这是我的测试控制器
public function actionRegister()
{
$data2 = array('name' => 'God', 'age' => -1);
return json_encode($data2);
}
这是ajax请求(网址是正确的)
$(".simple").click(function() {
$.ajax({
type: 'post',
url: 'register',
dataType: 'json'
}).done(function (data) {
console.log("done");
console.log(data);
}).fail(function (jqXHR, textStatus, error) {
console.log("fail");
console.log(jqXHR.responseText);
});
});
为什么我会'失败'? jqXHR.responseText
为空。
答案 0 :(得分:1)
您是否在dq
上调用该PHP函数?
此外,对于Ajax,您应该使用register.php
而不是echo
。
所以我会这样做
return
然后从public function actionRegister() {
$data2 = array( 'name' => 'God', 'age' => -1 );
echo json_encode($data2);
}
调用它。
答案 1 :(得分:0)
由于您将dataType指定为json,如果返回的字符串无效json,则ajax调用将失败。而且由于你的responseText是空的,很可能PHP没有像你想象的那样被执行。
在您的AJAX通话中,您将网址指定为'注册'。它可能应该是register.php'吧?