使用JQUERY和Ajax获取祷告时间JSON数据

时间:2013-02-04 06:27:03

标签: javascript jquery ajax jsonp

我想从此链接使用Jquery ana Ajax读取JSON数据

http://praytime.info/getprayertimes.php?lat=31.950001&lon=35.9333&gmt=180&m=3&y=2013&school=0&format=json&callback=

这是我的代码:

 $(document).ready(function() { 

 var strUser ="http://praytime.info/getprayertimes.php?lat=31.950001&lon=35.9333&gmt=180&m=3&y=2013&school=0&format=json&callback=?";

 $.ajax({ 
   url: strUser ,
   dataType: 'jsonp',    
   success: function(data){

        jQuery.each(data, function(){
           alert("yes");

       });                
    }

  });


 });

我用其他链接尝试了这个代码,这是正确的,但是从指定的链接我没有得到任何输出,你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

网址正在输出json,但对于跨域名需要jsonp

并非所有API都提供jsonp。如果跨域API未提供jsonp且未启用CORS,您将需要使用代理来检索由same origin policy

引起的数据

答案 1 :(得分:1)

您尝试使用JSONP访问的网址不支持它。服务器需要将响应作为JSON返回,但也将响应包装在请求的回调中。因此,解决此问题的方法是使用服务器端代理,该代理从指定的URL获取响应并将其传递到客户端js,如:

$.ajax({
  type: "GET",
  url: url_to_yourserverside_proxy,
  dataType: "json",
  success: function( data ) {
      console.log(data);
  }
});

,其中 url_to_yourserverside_proxy是服务器端文件,用于从指定的URL

获取响应