仅在某些浏览器上调用错误

时间:2013-09-13 11:16:03

标签: javascript ajax google-chrome firefox

我做了这个ajax电话:

$.ajax({
//query rest che trova tutti gli amici dell'utente corrente        
type: 'GET',
async: false,


url: "http://www.timeapi.org/utc/now",

success: function(data) {

  time_now=data;

    },
    error: function(data) {

      console.log("ko" );
    }


}); 
chrome中的

工作得很好,但是在firefox和移动android上都会出现错误的回调 在firefox中错误是(用红色写): GET'http://www.timeapi.org/utc/now.json 200 OK

1 个答案:

答案 0 :(得分:1)

This server必须是旧的,它不会设置任何跨源授权标头。

但幸运的是,主页解释了它与JSONP兼容并给出了一个例子:

<script type="text/javascript">
  function myCallback(json) {
    alert(new Date(json.dateString));
  }
</script>
<script type="text/javascript" src="http://timeapi.org/utc/now.json?callback=myCallback"></script>

您还可以调整代码:

$.ajax({
    type: 'GET',
    dataType: "jsonp",
    url: "http://www.timeapi.org/utc/now.json?callback=?",
    success: function(data) {
     time_now=data.dateString;
    },
    error: function(data) {
      console.log("ko" );
    }
}); 

另请注意,我删除了async:false。它不仅与JSONP不兼容,而且总是一个坏主意。