我有这个ajax代码:
return $.ajax({
type: "POST",
url: "somefile.php",
cache:false,
data: { "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() },
dataType:"json",
success: function(data){
alert("success");
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我需要动态传递数据参数.现在我需要上面的数据参数内容和一个字符串.
如何动态传递?/如何将其存储在变量中并将其传递给"data:"字段?
{ "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() }
Run Code Online (Sandbox Code Playgroud)
我试过JSON.stringify II无法让它工作,可能是因为数据是一个数组.
年份和流派数组直接来自jquery下拉菜单.它的选择就像它的#id一样"$("#yearFilter")".这是select表单元素.
<select multiple="multiple" name="yearFilter[]" class="filterChange" id="yearFilter">
Run Code Online (Sandbox Code Playgroud)
我在基层需要的是:
var someData = "";
if(...){
someData = { "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() };
}
else if(...){
someData = "sampleString";
}
Run Code Online (Sandbox Code Playgroud)
在ajax电话中:
...
data: someData,
...
Run Code Online (Sandbox Code Playgroud)
cha*_*tfl 11
我想我知道你想要什么,但是帖子因json stringify等无关紧要的问题而过于复杂.这是一个函数,可以在代码中的几个地方使用,以生成一种类型的AJAX调用.
然后,您可能会有几个按钮,并为每种类型的按钮调用处理程序中的函数,并更改传递给function的参数
doAjax('someval');/* use in button 1*/
doAjax('someOtherval');/* use in button 2*/
function doAjax(arg) {
var someData = "";
if (arg == 'someval') {
someData = {
"yfilter": $("#yearFilter").val(),
"gfilter": $("#genreFilter").val()
};
} else {
someData = "sampleString";
}
$.ajax({
type: "POST",
url: "somefile.php",
cache: false,
data: someData,
dataType: "json",
success: function(data) {
if (arg == 'someval') {
alert("success 1");
} else {
alert("success 2");
}
}
})
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51340 次 |
最近记录: |