我想将我的字符串值作为json数据发送到服务器,但是我得到了400个错误的请求。 这是我发送数据的代码。
dataString = '{"comment":"' +dataString+ '"}';
dataString = '[' + dataString + ']';
$.parseJSON(dataString);
console.debug("After parsing : "+dataString);
$(form_element).clearForm();
$.ajax({
type : "POST",
url : loc,
cache : false,
data : dataString,
dataType: 'json',
contentType: "application/json",
success : function(data) {
console.debug("After success");
}
当我调试代码时,@ RequestParameter“comment”具有null值。 请提前帮助我。
答案 0 :(得分:2)
parseJSON函数返回一个对象。
你应该做
var obj = $.parseJSON(dataString);
$.ajax({
type : "POST",
url : loc,
cache : false,
data : obj,
假设你真的需要像你一样构建你的字符串。只是构建你的对象而不是制作一个json字符串,解析它然后再要求jQuery再次序列化它通常更简单。
答案 1 :(得分:1)
我认为你应该传递json对象NOT jsonarray。
var dataString = '{"comment":"test"}';
//dataString = '[' + dataString + ']'; //delete this, NOT array
var obj = $.parseJSON(dataString);
console.log(obj);
$.ajax({
type : "POST",
url : url,
cache : false,
data : obj,
contentType:"application/json; charset=utf-8",
dataType:"json",
success : function(data) {
console.debug("After success");
}
});