我想从XML文件中获取国家/地区源和目的地,它在localhost中完美运行但在服务器中不起作用,如果我在地图上快速移动光标,它在服务器中显示不同的目的地国家。
<{1>}jquerymap.php
我在mouseover
和mouseclick
事件上调用price_by_countries.php文件,我也在price_by_countries.php
传递2个变量,在此文件中我正在加载XML文档,我认为通过每次加载XMLfile可能会导致这个问题..我是编程的新手,并希望尽快解决这个问题..谢谢
jquerymap.php文件代码
jQuery.ajax({ type: "POST",
url: "price_by_countries.php",
data: "s="+source+"&d="+destination,
dataType: 'HTML',
success: function (msg) {
jQuery("#rightinput").html(msg);
}
});
price_by_countries文件代码
$xml = simplexml_load_file("rd.xml") or die("Error: Cannot create object");
function processXML($node){
foreach($node->children() as $books ){
if($books['source'] == trim(ucfirst($_REQUEST['s'])) &&
$books['destination'] == trim(ucfirst($_REQUEST['d'])))
{
echo "<pre>";
//echo $books ;
echo 'Source Country from XML file = '.$books['source'] . ' ------ Source Country from Textbox = '. trim(ucfirst($_REQUEST['s'])) ;
echo '<hr>';
echo 'Destination Country from XML file = '.$books['destination'] . ' ------ Destination Country from Textbox = '. trim(ucfirst($_REQUEST['d'])) ;
exit();
}
}
}
processXML($xml);
答案 0 :(得分:0)
问题似乎与onmouseover上的数据请求有关。如果您将光标移动太快onmouseover会同时触发许多请求到服务器!这适用于localhost,因为没有延迟,但不是!你应该为firefox安装firebug并查看对服务器的请求。
如果您不想在每次需要缓存时加载xml: 使用source&amp; amp;保存客户端price_by_countries.php在数组中的响应。目的地为钥匙!
如果有人点击或悬停在某个国家/地区,请不要立即调用jquery ajax函数。如果您已经请求了数据并返回数据,请先检查数组!如果没有做ajax请求。如果成功将数据存储在数组中!
卢西恩