繁体   English   中英

如何使用json从外部网址接收数据?

[英]How can i receive data from external url using json?

最近我正在学习json来创建apps。我对基于Json,基于php的聊天系统有疑问。 在这种情况下,代码对于相同的源策略也可以正常工作。但是对于从外部url发送和接收数据,它成功地将数据发送到外部php,但是没有从服务器接收任何数据。作为替代。 我尝试了jsonp,但是我不确定是否正确,因为我是ajax的新手。

请不要误会我的问题。当我将请求发送到外部URL(anysite.com/xx/ajax.php)时,我想从localhost加载index.html文件。它将处理并将数据返回给索引。 html。但是问题是我的数据可以在服务器上很好地发送和处理,但不会返回到远程文件。但是对于同一台服务器它可以正常工作。

$.tzPOST = function(action,data,callback)
{
    $.post('http://anysite.com/xx/ajax.php?action='+action,data,callback,'json');
}

$.tzGET = function(action,data,callback){
    $.get('http://anysite.com/xx/ajax.php?action='+action,data,callback,'json');
}

请帮助我提供代码。

由于该政策,您无法通过JavaScript从外部网络接收JSON。

但是您可以在PHP文件上执行AJAX请求,然后可以通过file_get_content http://cz2.php.net/file_get_contents函数获取JSON。

为了与jsonp一起使用(工作),您可以从GitHub获取现成的解决方案jquery-jsonp

使用示例(根据您的问题):

$.tzGET = function(action,data,callback){
  var url = 'http://anysite.com/xx/ajax.php?action='+action;

  $.jsonp({
   type: 'GET',
   url: url,
   callbackParameter: callback,
   dataType: 'jsonp',
   data: data,
   timeout: 10000,
   success: function(json){
     alert('success')
   },
   error: function(){
      alert('error')
   }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM