使用jQuery的跨域AJAX请求无法在Firefix旧版本

时间:2015-11-06 02:14:34

标签: jquery ajax browser cross-browser jsonp

这是我的代码,它在FF 41.0.2,GC 46.0,IE 11和Opera 33中运行良好,我还没有在Safari中尝试过。问题是这不适用于FF版本37和38.我是否需要更改或添加以使此代码尽可能与所有浏览器和版本兼容?

------------ jsonp.php -------------------

  $.ajax({
         url : "http://www.sample.sample.ph/sample.php",
         dataType:"jsonp",
         jsonp:"mycallback",
         success:function(data)
          {
           alert(data.status);                                          
          }
        });

------------ sample.php -------------------

$callback ='mycallback';
if(isset($_GET['mycallback'])) {
    $callback = $_GET['mycallback'];
}   
$arr =array();
$arr['status']="success";   
echo $callback.'(' . json_encode($arr) . ')';

2 个答案:

答案 0 :(得分:0)

我检查了有问题的计算机,我在控制台中得到了这个:

reference error $ is not defined

我发现<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>被Firefox阻止了。当我尝试在FF的新标签页中加载Google CDN时,它会显示"This Connection is Untrusted""I Understand the Risk"选项不可用。

因此,我得出结论,不是浏览器版本有问题,也不是jQuery代码,它是阻止jQuery Google CDN的浏览器。如果此页面有助https://support.mozilla.org/en-US/kb/connection-untrusted-error-message,我会尝试。

答案 1 :(得分:0)

自托管jQuery解决了这个问题。