小编Fre*_*mas的帖子

javascript评估和对象评估

我有一个调试框架的一部分,需要能够运行时间eval对象.

具体来说,如果我有这样的字符串,"{a: 1, b:2}"则需要将其评估为具有成员ab这些值的对象.但是,如果我这样做eval("{a: 1, b:2}"),似乎将其评估为一个声明,并说出一些非法标签.

我已经黑了它,所以它评估如下:

eval("var x=" + str + "; x;");
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但似乎是一个可怕的黑客.关于如何做得更好的任何建议?

(顺便说一句,我知道eval的危险,但这是实际用户不会看到的调试框架的一部分.)

javascript eval

10
推荐指数
1
解决办法
1万
查看次数

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

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

info    {'mid':1,'sid':27,'name':'aa','desc':'Enter info' }
Run Code Online (Sandbox Code Playgroud)

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

u'{\'mid\':1,\'sid\':27,\'name\':\'aa\',\'desc\':\'Enter Info\'}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用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 });
Run Code Online (Sandbox Code Playgroud)

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

if request.is_ajax() and request.method == 'POST':
    infoJson = request.POST['info']
    info = json.loads(infoJson);
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

javascript python django unicode json

3
推荐指数
1
解决办法
1262
查看次数

标签 统计

javascript ×2

django ×1

eval ×1

json ×1

python ×1

unicode ×1