当我们在ajax提交数据的时候通常会嵌入php的代码:
$.get(loadlist,map_s:'<?=json_encode($map_s)?>',sub_id:'<?=$sub_id?>',order:'<?=$order?>',loadlist:'<?=U('Guide/jqload')?>',function(data){
if(data=='null'){
flag=0;
}else{
times++;
$("#jq_load").append(data);
lock=1;//alert(data);
}
});
如此这般,一般情况下数字或字符串的php内容是可以通过ajax传递,但是如果php数组的话,以这种形式写就不能传递。得换成这样:
var map_s='<?=json_encode($map_s)?>';
var sub_id='<?=$sub_id?>';
var order='<?=$order?>';
var loadlist='<?=U('Guide/jqload')?>';
var jsonmap={'times':times,'sub_id':sub_id,'map_s':map_s,order:order};
$.get(loadlist,jsonmap,function(data){
if(data=='null'){
flag=0;
}else{
times++;
$("#jq_load").append(data);
lock=1;//alert(data);
}
});
如上所示,将php代码先赋值给js变量,再将js变量传给ajax这样才是保险有效地方法,否则,会出现很多意想不到的现象。