将变量传递到URL

时间:2012-04-27 20:10:19

标签: jquery

我正在尝试将2个表单元素中的值添加到函数中,并且可以获得第一个添加但不能正确编写第二个表单元素的方法。

$(function() {
   $('#form_orderTracking').click(function(){
       $('#CustomerDetails').load('TrackOrder1.asp?OrderID=' + $('#orderID').val());
   });
});

我正在尝试添加emailAddress字段的值,以便url显示:

TrackOrder1?OrderID=123456&EmailAddress=abc@123.com

2 个答案:

答案 0 :(得分:3)

您可以将其作为第二个参数传递给.load,而不是将查询字符串附加到网址。如果你传递一个对象,它将使用POST,如果你传递一个字符串,它将使用GET(就像你的例子)。

$.param将对象转换为字符串,因此它使用GET

$('#CustomerDetails').load('TrackOrder1.asp', $.param({
    orderID: $('#orderID').val(),
    EmailAddress: emailAddress
}));

或者你可以只是附加到你的字符串,如下:

$('#CustomerDetails').load('TrackOrder1.asp?OrderID=' + $('#orderID').val() + '&EmailAddress=' + emailAddress);

答案 1 :(得分:0)

var url = 'TrackOrder1.asp?OrderID=' + uriEncodeComponent($('#orderID').val()) + '&EmailAddress=' + uriEncodeComponent(email);
$('#CustomerDetails').load(url);

最好通过uriEncodeComponent()运行值,以确保它们编码正确。