私はこのajaxコードを持っています:
return $.ajax({
type: "POST",
url: "somefile.php",
cache:false,
data: { "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() },
dataType:"json",
success: function(data){
alert("success");
}
これは問題なく動作しますが、データ パラメータを動的に渡す必要があります。今のところ、上記のデータ パラメータの内容と 1 つの文字列が必要です。
これを動的に渡すにはどうすればよいですか? /変数に格納して「data:」フィールドに渡すにはどうすればよいですか?
{ "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() }
JSON.stringify II を試してみましたが、おそらくデータが配列であるために機能しませんでした。
年とジャンルの配列は、jquery ドロップダウン メニューから直接取得されます。「$("#yearFilter")」のように #id によって選択されます。これは選択フォーム要素です。
<select multiple="multiple" name="yearFilter[]" class="filterChange" id="yearFilter">
基本レベルで必要なのは次のとおりです。
var someData = "";
if(...){
someData = { "yfilter": $("#yearFilter").serializeArray(),
"gfilter": $("#genreFilter").serializeArray() };
}
else if(...){
someData = "sampleString";
}
そして ajax 呼び出しで:
...
data: someData,
...