Cli*_*udo 10 javascript jquery
我正在尝试使用jQuery $ .get从网站获取一些数据.我需要设置2个相同类型的参数:
..&q=Some Text&q=Some other text
Run Code Online (Sandbox Code Playgroud)
jQuery似乎用第二个覆盖q的第一个实例,只发送1.任何解决方法?
这是我试图使用的代码:
var params = {
"otherParam":"x",
"q":text,
"q":title
};
$.get(url, params, mySuccessFunction);
Run Code Online (Sandbox Code Playgroud)
Poi*_*nty 26
尝试:
var params = {
"otherParam": "x",
"q": [ text, title ]
};
Run Code Online (Sandbox Code Playgroud)
编辑 - 更多信息:像这样的数组值参数由jQuery专门处理.为了安抚许多常见的服务器框架,默认情况下(因为我认为是1.5或1.6版本),这些将导致参数名称包含"[]"(开括号和近括号字符)作为后缀(没有数字,与我的错误相反)评论如下).如果你不想那样,你可以设置
jQuery.ajaxSettings.traditional = true;
Run Code Online (Sandbox Code Playgroud)
它只是"q"而不是"q []".
Cli*_*udo 10
另一种解决它的方法是不需要encodeURIComponent()或搞乱 jQuery.ajaxSettings.traditional = true;我不愿意这样做,因为我不想干扰(甚至暂时)网站的其他部分可能同时做什么.
方法是:
var params=[
{name:"q", value:title},
{name:"q", value:text}
];
$.get(url, params, mySuccessFunction);
Run Code Online (Sandbox Code Playgroud)
另一种不修改的方法jQuery.ajaxSettings.traditional = true;是使用$.param() http://api.jquery.com/jQuery.param/
所以像这样:
var params = {
"otherParam": "x",
"q": [ text, title ]
};
$.get(url, $.param(params, true), mySuccessFunction);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12010 次 |
| 最近记录: |