Javascript 向服务器发送json数据会返回400个错误请求

Javascript 向服务器发送json数据会返回400个错误请求,javascript,jquery,json,post,http-post,Javascript,Jquery,Json,Post,Http Post,我想将字符串值作为json数据发送到服务器,但收到了400个错误请求。 这是我如何发送数据的代码 dataString = '{"comment":"' +dataString+ '"}'; dataString = '[' + dataString + ']'; $.parseJSON(dataString); console.debug("After parsing : "+dataString); $(form_el

我想将字符串值作为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”的值为空。 请帮助我,提前谢谢。

函数返回一个对象

你应该这样做

var obj = $.parseJSON(dataString);

$.ajax({
        type : "POST",
        url : loc,
        cache : false,
        data : obj,
这是假设你真的需要像你那样构建你的字符串。通常,只构建对象比生成json字符串、解析它然后要求jQuery再次序列化它更简单。

函数返回一个对象

你应该这样做

var obj = $.parseJSON(dataString);

$.ajax({
        type : "POST",
        url : loc,
        cache : false,
        data : obj,

这是假设你真的需要像你那样构建你的字符串。通常,只构建对象比生成json字符串、解析它然后让jQuery再次序列化更简单。

我认为应该传递json对象而不是json数组

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");
    }
});

我认为应该传递json对象,而不是json数组

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");
    }
});

当您可以console.debug(“解析后…”)时,dataString的初始值是多少;一个简单的字符串,例如(“hi david”),但我的问题是,你真的设置了吗?它不仅仅是将代码作为null进行传递?我通过读取文本字段值并将其存储在字符串中来设置它的值,它是comments字段,正如我们在任何用户可以对提要进行评论的网站中看到的那样。用户的注释存储在dataSting(变量)中,我将从这里将其发送到服务器以存储在数据库中。当您可以控制台时,dataString的初始值是多少。调试(“解析后…”);一个简单的字符串,例如(“hi david”),但我的问题是,你真的设置了吗?它不仅仅是将代码作为null进行传递?我通过读取文本字段值并将其存储在字符串中来设置它的值,它是comments字段,正如我们在任何用户可以对提要进行评论的网站中看到的那样。用户的注释存储在dataSting(变量)中,我将从这里将其发送到服务器以存储在数据库中。最初在dataString中是什么,服务器收到/期望得到什么?它需要数组吗?它是一个简单的字符串值,但服务器接收空值最初在dataString中是什么,服务器接收/期望的是什么?它需要数组吗?它是一个简单的字符串值,但服务器接收空值