我有问题,请帮忙
我有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 +'',
{},
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>');
});
第二站点:
$site_adi = $_GET["site_adi"];
/ * query * /
$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);
结果为零,有什么不对,请帮忙
答案 0 :(得分:0)
您有两个基本问题(除了问题评论中解释的安全问题)。
site_adres
,但正在阅读$_GET["site_adi"]
。如果不明确地编写代码以某种方式链接它们,则不能对同一事物使用不同的名称。data
循环$.each( data, function ( i, val ) {
,好像它是一个对象数组,但您的PHP只发送一个对象(不在数组中)。您应该直接访问data
的属性,而不是使用each
或val
。答案 1 :(得分:-1)
您应该在网络服务器上设置CORS以允许他们互相提取数据,因为您使用的是php,我会假设您正在使用apache:
Header set Access-Control-Allow-Origin "*"
将*替换为您其他网站的IP地址,反之亦然。