私はこのような機能を持っています:
function flush_changes() {
jQuery('#save-changes').replaceWith('<span id="save-changes">Saving..</span>');
var changes = new Array();
for (var i=0; i<edited_users.length; i++) {
changes.push({
id: edited_users[i],
first_profession: jQuery('#user_first_profession_' + edited_users[i]).val(),
second_profession: jQuery('#user_second_profession_' + edited_users[i]).val()
});
}
jQuery.post("${tg.url('/users/admin_user_professions/save')}",
{
changed_users: changes,
num_of_changed_users: changes.length
},
function(data) {
if (data.result == 'OK') {
location.href = location.href;
} else {
alert('Error while saving: ' + data.reason);
}
}, 'json');
}
呼び出されたときに、localhost からアプリケーションを実行すると、データが正しく送信されたことを確認できますが、実稼働サーバーでアプリケーションを実行すると、(webkit インスペクターを使用して) 次のように渡されたデータが表示されます。
changed_users:[object Object] num_of_changed_users:1
本番サーバーで「オブジェクトオブジェクト」を取得するのはなぜですか? jQuery ライブラリは、2 つの環境で同じです。
前もって感謝します!
EDIT これはlocalhostのインスペクターの出力です
changed_users%5B0%5D%5Bid%5D:314 changed_users%5B0%5D%5Bfirst_profession%5D:5 changed_users%5B0%5D%5Bsecond_profession%5D:6 num_of_changed_users:1