JS / jQueryを使用して(複雑な)配列(または必要に応じてオブジェクト)としてサーバーに送信する形式の情報がいくつかあります。(jQuery 1.7.2)問題をスマートに解決するためにJSONについて考えています。私のコードは現在機能していますが、それをより良くすることが可能かどうか知りたいです。
したがって、この例はかなり典型的です(データはより複雑なirlです):
dataSend = { 'id': '117462', 'univers': 'galerie', 'options' : { 'email': 'hello@world.com', 'commenataire': 'blabla', 'notation' : '4' } };
$.ajax({
url: "/ajax/ajaxMavilleBox.php",
data: JSON.stringify(dataSend),
success: function(x){
smth();
}
});
別のコンテキストでは、JSONなしでまったく同じものを作成する必要があります。
同じ例で:
dataSend = { 'id': '117462', 'univers': 'galerie', 'options' : { 'email': 'hello@world.com', 'commenataire': 'blabla', 'notation' : '4' } };
$.ajax({
url: "/ajax/ajaxBox.php",
data: $.param(dataSend),
success: function(x){
smth();
}
});
明らかに、私は何かが欠けています。
URLは:
http://www.mywebsite.com/ajax/ajaxBox.php?id=117462&univers=galerie&options=%5Bobject+Object%5D
そして、URLは次のようになります:
http://www.mywebsite.com/ajax/ajaxBox.php?id=117462&univers=galerie&options[email]=hello@world.com&options[commenataire]=blabla&options[notation]=3
それを行う簡単な方法はあります(ループなどで自分でデータを編集する必要がないことを願っています)
編集:2番目の部分の解決策
OK、JSONのない最後の部分は正しいです。実際、私は自分のページで古いバージョンのjQueryを使用していました。$ .paramは、jQuery<1.4ではあまり良くありません
詳細はこちらParamDoc