2009-11-26 91 views
2

我在写一个jquery接口,它需要我将几个参数传递给我们的CMS。这些参数的形式为“attribute [n]:token”,因此在一个URL中,您最终会得到“... &属性[1]:value = hello_world ...”。不幸的是,当我尝试使用$ .get来传递这些数据时,会出现相当明显的原因。我尝试了我能想到的方法来逃避这些角色,而且我确信我错过了一个简单的窍门,但我不能想出一个可行的方法。我希望这不像听起来那么简单。jQuery.Get,带特殊字符的参数

示例代码:

$.get("/example.htm", 
{ 
    Attributes[1]:type: "option", 
    Attributes[1]:value: "large" 
}); 

提前千恩万谢, 山姆

回答

1

您可以使用JavaScript函数是encodeURI():

var params = {}; 
params[encodeURI('Attributes[1]:type')] = 'option'; 
params[encodeURI('Attributes[1]:value')] = 'large'; 

$.get("/example.htm", params); 
+0

Lior,非常感谢。我曾尝试encodeURI,但我怀疑我犯了一个微不足道的错误,然后将其视为一项糟糕的工作。事实上,事实证明,简单地使数组而不是传递内联变量足以解决我的问题。我知道我正在密集。 再次感谢, 山姆 – 2009-11-26 23:35:48

+0

np队友。它发生了:) – 2009-11-26 23:44:40

0

你总是可以尝试将周围的报价钥匙

$.get("/example.htm", 
{ 
    "Attributes[1]:type": "option", 
    "Attributes[1]:value": "large" 
});