尝试一些有点复杂的事情,我希望这是可能的,或者有人可能建议一种方法来做。
在网站A上我有一个包含预订信息的数据库。
在网站B上,我想在这些预订发生时向人们展示。
所以在网站A上我创建了一个php页面,它获取所有数据并将其放入JSON。
然后我创建一个js脚本来运行对该php页面的ajax调用,返回信息并使用javascript创建一个表,并在调用脚本的任何地方构建它。
有点像推特的小部件。
现在我要做的是,有几行代码粘贴到站点B,它调用站点A上的js脚本,运行ajax命令,然后获取数据,创建我提到的表并放置它在现场B。
这可能吗?在将脚本传递给站点B之前,脚本是否会在站点A上进行ajax调用?或者它是否能够进行ajax调用,因为它首先放在站点B上,我不能从站点B调用站点A?
答案 0 :(得分:1)
这是有可能的,但方式与你建议的有点不同。
首先回答您的问题:当您在站点B上包含来自站点A的“数据获取器”脚本时,它将在站点B上执行。它将尝试对站点A执行ajax调用,并且因为相同而失败 - 原产地政策。
实现此目的的方法是通过JSONP。
您需要先创建一个php页面,它会生成一些json数据并调用预定义的javascript函数,如:
<强> fetcher.php:强>
<?php
$data = fetchCustomerBookings($_GET['customerid']);
echo "renderBookings(".json_encode($data).")";
?>
然后,您可以在站点B上包含此脚本,其中包含一个普通的脚本标记,如:
<script type="text/javascript" src="http://site-a.com/fetcher.php?customerid=XXX"></script>
你需要已经定义了renderBookings javascript函数。