从Controller到Ajax的PHP值错误

时间:2015-10-28 17:29:14

标签: php ajax

这是我的测试控制器

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为空。

2 个答案:

答案 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'吧?