0

我正在尝试通过 ajax 获取一些数据,但由于某种原因,它仅在 Chrome 和 IE 的控制台中出现错误。它在 Firefox 中运行良好。

这是我的代码:

PHP

function get_data() {
     $data = array( 'value' => '50', 'type' => 'box' );
     echo json_encode($data);
     exit;
}

JS

$(".click").click(function() {
     var data = {
      action: "get_data"
     };

     $.post( "http://domain.com/", data, function(response) {
          var newResponse = $.parseJSON(response);
          console.log(newResponse);
     }); 
});

因此,此代码在 Firefox 中运行良好,但由于某种原因,它在 Chrome 和 IE 中无法运行……在 Chrome 中,它甚至在出错之前都无法访问 console.log 函数。

感谢您的关注。

4

3 回答 3

1

我想它应该在没有 .parseJSON 的情况下工作。就像这样,至少它对我有用:

$.ajax({
    url: "url...",
    type: "post",
    data: data,
    success: function (data) {
        if (data.Result) {
            data.value1;
            data.value2;
        } else {
            // do something else
        }
    }
});

数据只是我的类型,例如 { value1:'123', value2: '345', Result: true}

于 2012-10-02T00:46:05.840 回答
0

您使用的是哪个版本的 jQuery?旧版本对返回的 JSON 文件中的空格不太宽容

于 2012-10-01T23:22:08.507 回答
0

好的,经过数小时试图找出问题所在,我终于发现ajax url上的某种重定向存在问题。不确定该重定向是如何到达那里的,但是一旦我将其删除,一切就开始起作用了。顺便说一句,它没有影响 Firefox 只是因为我登录了该站点。我猜重定向有某种检查是否有人登录,不要重定向 ajax url。

但无论如何,我只想分享一下,以防其他人遇到与我相同的问题,代码正确但仍然无法正常工作。

我想提一下非常感谢 Felix 竭尽全力帮助我。

于 2012-10-02T14:02:54.563 回答