我有以下JS对象:
json =
{
"category_id": category,
"subcategory_id": subcategory,
"offer_type": type_offer,
"features": []
};
我尝试将此对象发送为JSON,如:
$.ajax({
type: 'POST',
url: '/add',
data: json,
success: function (data) {
},
contentType: "application/json",
dataType: 'json'
});
是不是?或者我需要做一些准备工作?
现在我使用这部分代码:
formObj = $("#form_add").serialize();
var json = {};
var wrapperObj = {json: json, form: formObj};
$.ajax({
type: 'POST',
url: '/add',
data: JSON.stringify(wrapperObj),
success: function (data) {
// TODO
},
contentType: "application/json",
dataType: 'json'
});
这是对的吗?当我将一个对象打包在一个对象之后和stringify
之后?
答案 0 :(得分:1)
您需要使用JSON.stringify使其成为有效的json
$.ajax({
type: 'POST',
url: '/add',
data: JSON.stringify(json),
success: function (data) {
},
contentType: "application/json",
dataType: 'json'
});
答案 1 :(得分:1)
您也可以使用jQuery short-hand methods。
$.post('/add', json).done(function() {
// Handle response here
});
答案 2 :(得分:0)
我认为你应该首先使用JSON.stringify:
$.ajax({
type: 'POST',
url: '/add',
data: JSON.stringify(json),
success: function (data) {
},
contentType: "application/json",
dataType: 'json'
});