将多个变量传递给PHP页面

时间:2014-04-20 03:55:24

标签: javascript php jquery

我希望将URL中的多个变量city1area1(JavaScript变量)传递给PHP页面,但是我会陷入下面所示的部分。我做错了什么?

$("#list").load("selectcity.php?city1="+city1&"area1="+area1);
$.ajaxSetup({ cache: false });

2 个答案:

答案 0 :(得分:3)

&字符应在引号内,而不是引号外。这是更正后的代码:

$("#list").load("selectcity.php?city1="+city1+"&area1="+area1);
$.ajaxSetup({ cache: false });

GET 参数由字符&分隔。您将2个参数传递给由&分隔的文件。 URL中的?符号表示其后面的下一个字符是GET个参数。

或者您可以使用$.get,它非常容易设置并且可以像$.load一样正常工作:

$.get("selectcity.php", {"city1": city1, "area1": area1}, function(response){
 $("#list").html(response);
});

答案 1 :(得分:1)

最好不要手动形成查询字符串,因为您将经常遇到不那么显着的错误。 jQuery提供了一种从对象自动构造查询字符串的方法:

var ajaxData = {
    city1: city1,
    area1: area1
};
$.get('selectcity.php', ajaxData, function(data) {
    $('#list').html(data);
});

jQuery documentation

它需要稍多的代码,但保证是安全的。还有一个.load(url, data)快捷方式,但它会发送一个POST请求而不是GET请求,这可能不是你想要的。

此外,我不确定jQuery会自动对手动形成的查询字符串进行urlencode,因此字符串连接方法可能会引入更多错误。

相关问题