0

人们问这个问题的帖子很多。但似乎大多数人在使用 ajax 请求进行跨域连接时遇到问题。我只是在同一个域上使用它,但仍然无法让 ajax 请求在我的移动浏览器上运行……不过,它在桌面浏览器上运行良好。

这是我正在使用的代码:

阿贾克斯调用

$.ajax({
    type: 'POST',
    url: '/test/Stores/storeCheck',
    data: $input,
    dataType: 'json',
    contentType: "application/x-www-form-urlencoded;charset=utf-8",
    success: function (data) {
      alert("success");
    },
    error:function (xhr) {
      alert("failed");
    }
});

PHP 控制器 (cakephp)

function storeCheck () {

    if ($this->request->is('ajax')) {

        //Selecting values from the DB and returning them in $result

        $this->autoRender = false;
        return (json_encode($result));

    }

}

在我的移动浏览器中,发出了 ajax 请求,它一直持续到出现错误事件,显示失败的警报弹出窗口。我已经尝试按照一些建议使用 JSONP,但没有成功。任何想法将不胜感激。

溴,一个

4

1 回答 1

0

我设法解决了这个问题。我在控制器功能中使用了 echo 而不是 return 。我还在控制器中为我的 ajax 请求打开了调试:

function storeCheck () {

if ($this->request->is('ajax')) {

    Configure::write('debug', 0);

    //Selecting values from the DB and returning them in $result

    $this->autoRender = false;
    echo json_encode($result);

}

}

于 2013-05-23T15:21:02.570 回答