は、私が使うべき理由があるのコントローラに送信するオブジェクトにはどの構文を使用する必要がありますか?
構文1
$.ajax({
url: url,
data: {foo: "foo", bar: 1}, // everything is declared
success: success,
dataType: dataType
});
そしてない構文2
$.ajax({
url: url,
data: {foo: valueOfFoo(), bar: calculateBar(100)}, // reference to functions
success: success,
dataType: dataType
});
コントローラにオブジェクトを送信しますか?
jQuery APIの定義によれば、データの種類はオブジェクトまたはリクエストでサーバーに送信される文字列になります。
何とか私は構文1が「安全」だと思っていますが、これは迷信(数え切れないほどのバグ修正からの私の経験とペアになっている)かもしれません。
私は違いを見ることができませんが、2番目のものは関数を実行し、最初のものと同じように結果を送信します。 –
最初のスニペットはリテラルデータ '' foo "'と '1'を送り、2番目のスニペットは関数' valueOfFoo'と 'calculateBar'の戻り値を送ります。彼らはさまざまなことをしています。 –
'' foo "/ 1'を返さなければならない関数の名前だと思います。 –