我使用Jquery的“load”函数来加载页面,在这个url中我通过“load”发送一些值作为这个例子:
jQuery("#load_data").show(1000).load("index.php?send_values="+datasend+"");
值“datasend”从函数javascript中获取这些值:
function getvalues()
{
var getdata="value 1";
getdata +="value 2";
getdata +="value 3";
var datasend=getdata;
}
如果在函数中插入警报,我会获得所有值,例如:
function getvalues()
{
var getdata="value 1";
getdata +="value 2";
getdata +="value 3";
var datasend=getdata;
alert("Show"+datasend);
}
但如果我使用Jquery的加载,这不起作用:
function getvalues()
{
var getdata="value 1";
getdata +="value 2";
getdata +="value 3";
var datasend=getdata;
jQuery("#loader").load("index.php?send_values="+datasend);
}
页面的另一面我想发送/获取值我有PHP代码,但是当我这样做时:
<?php echo $_REQUEST['send_values'];?>
只获取此案例中的第一个数据“值1”并且没有所有值,但是使用javascript“alert”我得到所有值,但加载的jquery没有发送URL的所有值最终获取所有值
感谢您的帮助,问候
答案 0 :(得分:1)
如果再次检查,您会看到到达服务器的数据不是"value 1"
,而只是"value"
。
正确的URL不能包含空格,因此load
method使用空格作为URL和可选选择器之间的分隔符,以从加载的数据中获取片段。由于datasend
中的值中有空格,因此只有第一个空格的部分包含在URL中,其余部分被解释为选择器。
您可以使用encodeURIComponent
方法对值进行编码,以便可以在网址中使用:
jQuery("#loader").load("index.php?send_values=" + encodeURIComponent(datasend));
或者,您可以使用load
方法的data参数来包含数据:
jQuery("#loader").load("index.php", { send_values: datasend });
答案 1 :(得分:0)
尝试做:
var datasend=encodeURIComponent(getdata);