我正在通过 JavaScript 将数据发送到服务器以获取 REST API(这将在 PhoneGap 应用程序内,因此使用 jQuery 而不是任何服务器代码)。我正在构建自己的 API,所以我有灵活的选择,但我想知道是否有一种首选的方式来处理 POST 数据。我将 JSON 用于 GET,那么我应该将它用于 POST 吗?
发送它的更好方法是什么?
1)使用序列化方法,然后将其作为数据发送,例如:
$('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
}
});
});