我有问题,请帮帮忙
我有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 = 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,出什么问题了,请帮帮忙
发布于 2014-08-19 22:39:17
您有两个基本问题(除了问题注释中解释的安全问题)。
site_adres,但正在读取$_GET["site_adi"]。你不能在不显式地编写代码来链接它们的情况下对同一事物使用不同的名称。$.each( data, function ( i, val ) {在data上循环,就好像它是一个对象数组一样,但你的只发送一个对象(它不在数组中)。您应该直接访问data的属性,而不是使用each或val.
发布于 2014-08-19 21:48:51
你应该在你的set服务器上设置CORS,允许它们互相获取数据,因为你使用的是php,我假设你使用的是apache:
Header set Access-Control-Allow-Origin "*" 将*替换为您其他网站的ip地址,反之亦然。
https://stackoverflow.com/questions/25385051
复制相似问题