【问题标题】:Cross Domain AJAX Request with jQuery not working in Firefix Older Versions使用 jQuery 的跨域 AJAX 请求在 Firefox 旧版本中不起作用
【发布时间】:2016-02-07 02:26:33
【问题描述】:

这是我的代码,它在 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) . ')';

【问题讨论】:

标签: jquery ajax browser cross-browser jsonp


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-04-15
      • 2014-04-18
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2013-03-11
      • 2014-10-04
      相关资源
      最近更新 更多