【问题标题】:JSON + jQuery $.post + Django --> parsererror - SyntaxError: invalid labelJSON + jQuery $.post + Django --> parsererror - SyntaxError: invalid label
【发布时间】:2011-11-20 06:39:34
【问题描述】:

由于某种原因,当我从 django 函数接收 JSON 数据(见下文)时,我收到“SyntaxError: invalid label”错误。有什么想法吗?

{ "id": "325", "from_date": "09-19-2011", "to_date": "09-20-2011" }

这是我正在使用的 jQuery 代码:

$(".edit_rec").click(function () {
    var rec_id = $(this).attr('name');
    $.post("/edit/", {
        editid: rec_id
    }, function (json) {
        var content = $.parseJSON(json);
        var to = new String(content.to_date);
        var from = new String(content.from_date);
    });
});

【问题讨论】:

  • 使用new String的原因是什么?这是完整的回应吗?
  • 当我点击链接(edit_rec)时,我首先看到一个窗口显示“parsererror”,然后是“SyntaxError: invalid label”,然后是“{“id”:“325”,“from_date”:“ 2011 年 9 月 19 日”,“to_date”:“2011 年 9 月 20 日”}”。 “字符串”我不确定是否有必要,因为这些值已经作为字符串出现。
  • 从我的代码中删除了“新字符串”。同样的错误“SyntaxError:无效标签”

标签: jquery ajax django json


【解决方案1】:

需要在回调后加上“json”让jquery知道返回的数据应该是json。然后,jQuery 会自动将您的 json 字符串解析为 JavaScript 对象。

$(".edit_rec").click(function () {
    var rec_id = $(this).attr('name');
    $.post("/edit/", {
        editid: rec_id
    }, function (content) {
        var to = new String(content.to_date);
        var from = new String(content.from_date);
    },"json");
});

【讨论】:

  • 很好的答案!偶尔问问路是值得的。据说我们男人不喜欢那样做:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-19
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
相关资源
最近更新 更多