【问题标题】:jQuery.Get, parameter with special charactersjQuery.Get,带特殊字符的参数
【发布时间】:2009-11-26 23:07:44
【问题描述】:

我正在尝试编写一个 jquery 接口,该接口需要我将几个参数传递给我们的 CMS。这些参数的格式为“attribute[n]:token”,因此在 URL 中您会以“...&attribute[1]:value=hello_world...”结尾。不幸的是,当我尝试使用 $.get 传递这些数据时,它会因为相当明显的原因而窒息。我尝试了我能想到的方法来逃避这些角色,我确信我错过了一个简单的技巧,但我想不出一个有效的方法。我希望这不是一个听起来那么简单的问题。

示例代码:

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

提前非常感谢, 山姆

【问题讨论】:

    标签: jquery ajax parameters


    【解决方案1】:

    你可以使用javascript函数encodeURI():

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

    【讨论】:

    • Lior,非常感谢。我试过 encodeURI,但我怀疑我犯了一个微不足道的错误,然后将其视为一项糟糕的工作。实际上事实证明,简单地制作数组而不是内联传递变量就足以解决我的问题。我知道我很密集。再次感谢山姆
    【解决方案2】:

    您总是可以尝试在键周围添加引号

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多