jQuery .post或.get传递动态参数

时间:2015-07-27 10:47:44

标签: javascript jquery ajax

向服务器发送一些请求的常用方法是

$.get('link/to/send', {
   param1: "value1",
   param2: "value2"
}, function(result) {
   // ... etc
});

现在如果我想发送动态参数名称,jQuery可以支持吗? (即我需要编写一些通用代码,以便我可以在运行时指定参数名称)

3 个答案:

答案 0 :(得分:3)

这不依赖于jQuery,它只是一个普通的JavaScript。

你应该这样做:

var objToSend = {};
objToSend["param1"] = "value1";
objToSend["param2"] = "value2";

$.get('link/to/send', objToSend, function(result) {
    // ... etc
});

答案 1 :(得分:2)

是的,这可以使用括号表示法来完成。您可以使用方括号([])访问对象属性,就像访问数组的值一样。

在您的情况下,代码可能如下所示:

//Name of the parameters
var str1 = "param1";
var str2 = "param2";

//Create an empty object
var obj = {};

//Set the values of the parameters.
obj[str1] = "value1";
obj[str2] = "value2";

//Send the GET request.
$.get('link/to/send', obj, function(result) {
   // ... etc
});

此代码应与您问题中的代码同义。它会发送一个名为param1的参数,其值为value1,另一个名为param2的参数值为value2

答案 2 :(得分:0)

试试这样。您只需创建动态数据并使用动态数据作为参数调用该函数。

function sendRequest(data)
{
   $.get('link/to/send',data, function(result) { /* code here*/ });
}