Javascript ajax、json、外部url加载数据
我有个问题,请帮帮我 我有2个网站,我想互相发送数据 第一个地点:Javascript ajax、json、外部url加载数据,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我有个问题,请帮帮我 我有2个网站,我想互相发送数据 第一个地点: var site_adres = $(location).attr('href'); var myArray = site_adres.split('/'); var site_adi_al = myArray[2]; $.getJSON('xxx.com/site/admin.php?site_adres='+ site_adi_al +''
var site_adres = $(location).attr('href');
var myArray = site_adres.split('/');
var site_adi_al = myArray[2];
$.getJSON('xxx.com/site/admin.php?site_adres='+ site_adi_al +'',
{},
function (data) {
$.each( data, function ( i, val ) {
var id=val['id'];
var site_adi=val['site_adi'];
$(".site_adi").append('<li>'+id+' >> <a href="'+site_adi+'"
target="_blank">'+site_adi+'</a></li>');
});
/*质疑*/
$query = mysql_query("SELECT * FROM site WHERE site_adi = '$site_adi'");
if ( mysql_affected_rows() ){
$row = mysql_fetch_object($query);
$json = array(
"id" => $row->id,
"site_adi" => $row->site_adi
);
}else{
$json["hata"] = "Nothing !";
}
header("access-control-allow-origin: *");
echo json_encode($json);
结果零,有什么问题,请帮助您应该在Web服务器上设置COR,以允许它们相互获取数据,因为您使用的是php,我假设您使用的是apache:
Header set Access-Control-Allow-Origin "*"
将*替换为其他网站的ip地址,反之亦然。除了问题注释中解释的安全问题外,您还有两个基本问题 您正在发送站点地址,但正在读取$\u GET[site\u adi]。如果不显式地编写代码以某种方式链接它们,就不能对同一事物使用不同的名称。 您使用$在数据上循环。每个数据、函数i、val{就像它是一个对象数组一样,但是您的PHP只发送一个不在数组中的对象。您应该直接访问数据的属性,而不是使用每个或val。
危险:您正在使用并且应该使用。您还容易受到现代API会使您更容易使用的攻击。您做了什么来调试此问题?打开浏览器的开发人员工具。查看JavaScript错误控制台。是否有任何错误?网络选项卡如何?您是否看到正在发出的请求?您是否收到了响应ect?控制台错误为空,网络选项卡:jquery.min.map code.jquery.com未找到??oppps为什么。包括该页面。网络选项卡对xxx.com/site/admin.php的请求有何说明?site_-adres=?我注意到了。solition??site/admin.php?site_-adres=结果:问题中没有任何内容:headeraccess-control-allow-origin:*;CORS已经处理好了。
Header set Access-Control-Allow-Origin "*"