繁体   English   中英

Django / python正在从JavaScript转换我的帖子数据

[英]Django/python is converting my post data from JavaScript

当我通过Ajax将JSON字符串发布到Django时,它将其转换为无效的JSON格式。 具体来说,如果我查看Firebug中的帖子数据,我发送:

info    {'mid':1,'sid':27,'name':'aa','desc':'Enter info' }

然而,当我在django请求中访问它时,我看到:

u'{\'mid\':1,\'sid\':27,\'name\':\'aa\',\'desc\':\'Enter Info\'}

当我尝试使用json.loads解析它时,它会因无效的JSON消息而死亡。

我发帖是:

    data.info = "{'mid':1,'sid':27,'name':'aa','desc':'Enter info' }";
    $.ajax({url: cmdAjaxAddress,
            type: "POST",
            data: data,
            success: function(txt) {
                result = txt;
            },
            async: false });

我正在阅读django中的POST,如下所示:

if request.is_ajax() and request.method == 'POST':
    infoJson = request.POST['info']
    info = json.loads(infoJson);

任何帮助,将不胜感激。

你是如何编码你的JSON字符串的? 根据规范 ,单引号需要是双引号:

In [40]: s1 = "{'mid':1,'sid':27,'name':'aa','desc':'Enter info' }"

In [41]: simplejson.loads(s1)
JSONDecodeError: Expecting property name: line 1 column 1 (char 1)

In [42]: s2 = '{"mid":1,"sid":27,"name":"aa","desc":"Enter info" }'

In [43]: simplejson.loads(s2)
Out[43]: {'desc': 'Enter info', 'mid': 1, 'name': 'aa', 'sid': 27}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM