Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$.ajax json数据的字符集编码_Ajax_Json_Encoding - Fatal编程技术网

$.ajax json数据的字符集编码

$.ajax json数据的字符集编码,ajax,json,encoding,Ajax,Json,Encoding,我提出了一个简单的ajax请求。 代码是这样的 var paramObject = new Object(); paramObject.cd_nm01 = 'farm'; paramObject.cd_nm02 = 'server'; paramObject.cd_nm03 = 'cpu_num'; paramObject.cd_nm04 = 'mem_size'; paramObject.cd_nm05 = 'user_hdd'; paramOb

我提出了一个简单的ajax请求。 代码是这样的

var paramObject = new Object();
    paramObject.cd_nm01 = 'farm';
    paramObject.cd_nm02 = 'server';
    paramObject.cd_nm03 = 'cpu_num';
    paramObject.cd_nm04 = 'mem_size';
    paramObject.cd_nm05 = 'user_hdd';
    paramObject.cd_nm06 = 'net_sprt';
    paramObject.cd_nm07 = 'net_type';

    var codes = JSON.stringify(paramObject);

    $.ajax({
        type: 'POST',
        async: false,
        cache: true,
        dataType: 'json',
        beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded;      charset=UTF-8');
        },
        url: '/common/getCodes',
        data: {
        'jParam' : codes
        },
        success: function(data, status ,xhr) {
        console.log(data);
        },
        error: function(xhr){
        }
    });
我想发送以下数据:
“'cd_nm':'farm','cd_nm':'server','cd_nm':'cpu_num','cd_nm':'mem_size','cd_nm':'user_hdd','cd_nm':'net_sprt','cd_nm':'net_type'}”

但在控制器(Spring 3.1)中, 如果我从请求中得到这些值, 它们看起来像下面

%7B%22cd_nm01%22%3A%22farm%22%2C%22cd_nm02%22%3A%22server%22%2C%22cd_nm03%22%3A%22cpu_num%22%2C%22cd_nm04%22%3A%22mem_size%22%2C%22cd_nm05%22%3A%22user_hdd%22%2C%22cd_nm06%22%3A%22net_sprt%22%2C%22cd_nm07%22%3A%22net_type%22%7D

如何解决这个问题?

您的请求只是url编码的,就像它应该的那样。如果您解码它,它看起来像这样:

{“cd_nm01”:“farm”、“cd_nm02”:“server”、“cd_nm03”:“cpu_num”、“cd_nm04”:“mem_size”、“cd_nm05”:“user_hdd”、“cd_nm06”:“net_sprt”、“cd_nm07”:“net_type”}


对我来说,这看起来像是有效的json。要发送数据的表单看起来不正确。您希望使用单引号,但没有前导括号。如果不想使用01、02、03后缀,可能需要更改JSON.stringify方法以接受字符串数组而不是对象。

谢谢您的回答。我会尽量利用你的建议来解决这些问题。