REST API の JavaScript を介してサーバーにデータを送信しています (これは PhoneGap アプリ内にあるため、サーバー コードではなく jQuery を使用します)。私は独自の API を構築しているので、柔軟なオプションがありますが、POST データを処理するための好ましい方法があるかどうか疑問に思っています。GET には JSON を使用していますが、POST には JSON を使用する必要がありますか?
どのような方法で送るのが良いですか?
1) serialize メソッドを使用し、それをデータとして送信します。例:
$('form').submit(function(e){
e.preventDefault();
var form = $(this);
$.ajax({
type: 'POST',
url: form.attr('action'),
data: form.serialize(),
success: function(response){
// handle response
},
error: function(a,b,c) {
// handle error
}
});
});
または 2) 次のような JSON オブジェクトとして送信します。
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
$('form').submit(function(e){
e.preventDefault();
var form = $(this);
$.ajax({
type: 'POST',
url: form.attr('action'),
data: JSON.stringify(form.serializeObject()),
success: function(response){
// handle response
},
error: function(a,b,c) {
// handle error
}
});
});