【问题标题】:Why am I getting this javascript error when I'm doing my Django?为什么我在做 Django 时会收到这个 javascript 错误?
【发布时间】:2011-06-11 16:00:42
【问题描述】:

根据 jsonlint.com,我有有效的 json

在我的 javascript 中,我这样做:

var params = JSON.parse('{{ all_params_in_json }}');

我得到这个错误:

Uncaught SyntaxError: Unexpected token ILLEGAL
(anonymous function)

为什么?我的 json 是有效的。我使用的是标准的 json2 库。

我的 json 是这样的:

{
    "browser_location": "Sausalito",
    "browser_distance": 5,
    "users_who_voted": [

    ],
    "author": {
        "username": "swnn",
        "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
        "first_name": "feli",
        "last_name": "twan",
        "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
        "is_active": true,
        "is_superuser": false,
        "is_staff": false,
        "last_login": 1295410796.0,
        "location": "San Francisco",
        "fullname": "twan Chan",
        "id": 1,
        "date_joined": 1293678904.0
    },
    "total_views": 227,
    "comments": [
        {
            "body": "sdfasdf",
            "created_at": 1295317816.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "sdfasdfasd",
            "created_at": 1295317900.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "sdasdasD",
            "created_at": 1295323153.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "The picture in this submission is not accurate",
            "created_at": 1295325473.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "This submission is not useful to me.",
            "created_at": 1295325491.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "lcokc",
            "created_at": 1295344958.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "gagaga",
            "created_at": 1295345040.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "wwwww",
            "created_at": 1295345084.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "sadfasdfasdf",
            "created_at": 1295345136.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "asdasdf",
            "created_at": 1295345253.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "sdfasdfasd",
            "created_at": 1295345279.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "asdfasdf",
            "created_at": 1295345358.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "foxed",
            "created_at": 1295345790.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "Is this really the right thing? I mean...after thinking about it. ist's just not very cool",
            "created_at": 1295345827.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "s this really the right thing? I mean...after thinking about it. ist's just not very cool",
            "created_at": 1295345871.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "his song really suck.s",
            "created_at": 1295346108.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "asdfasdf",
            "created_at": 1295383689.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "asdfasdf",
            "created_at": 1295410874.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        },
        {
            "body": "Is this all right?",
            "created_at": 1295411376.0,
            "user": {
                "username": "swnn",
                "bio": "I'm the CEO at Twitter.  Prior to Twitter, I cofounded FeedBurner (acquired by Google). I'm an investor and Advisor in a few start-ups including about.me.\r\n \r\nI used to perform with Chicago\u2019s Annoyance Theater and at various comedy festivals in Edinburgh, Montreal and other distant lands. I recently left the cold winters of Chicago for Marin County's sunshine.",
                "first_name": "feli",
                "last_name": "twan",
                "avatar_url": "http://s3.amazonaws.com/fabletest/937ypvlchrd2e5z1a0sq",
                "is_active": true,
                "is_superuser": false,
                "is_staff": false,
                "last_login": 1295410796.0,
                "location": "San Francisco",
                "fullname": "twan Chan",
                "id": 1,
                "date_joined": 1293678904.0
            }
        }
    ],
    "initial_vote": 0,
    "browser_lat": 37.848800659179688,
    "post": {
        "ip": "174.129.251.48",
        "thumb_500x500": {
            "url": "http://s3.amazonaws.com/fabletest/bv2814ghmd",
            "width": 500,
            "height": 351
        },
        "date": 1295154531.334044,
        "thumb_original": {
            "url": "http://farm6.static.flickr.com/5249/5336976806_481943d486_b.jpg",
            "width": 779,
            "height": 548
        },
        "total_views": 227,
        "thumb_230x480": {
            "url": "http://s3.amazonaws.com/fabletest/4e7h95rt3f",
            "width": 230,
            "height": 480
        },
        "test_set": "g2",
        "title": "Maybe. . .we were supposed to meet the wrong people before meeting the right one so that, when we finally meet the right person, we will know how to be grateful for that gift ...",
        "stamp": "bf305695ca51b5390dc0c2f34c074215",
        "pop_score": 241.59687499999995,
        "thumb_640x640": {
            "url": "http://s3.amazonaws.com/fabletest/4q15bsgmt2",
            "width": 640,
            "height": 450
        },
        "image_direction": "landscape",
        "author_username": "swnn",
        "thumb_230x230": {
            "url": "http://s3.amazonaws.com/fabletest/x0dq7gzb4f",
            "width": 230,
            "height": 230
        },
        "description": "sooc with Shana Rae overlay ....",
        "top_score": 0.90000000000000002,
        "active": true,
        "original_file": "http://farm6.static.flickr.com/5249/5336976806_481943d486_b.jpg",
        "loc_utm": [
            500000.0,
            6317527.4506855672
        ],
        "_id": {
            "$oid": "4d327d658aad6919be0000d5"
        },
        "sizes": [
            {
                "url": "http://farm6.static.flickr.com/5249/5336976806_481943d486_b.jpg",
                "width": 779,
                "height": 548
            },
            {
                "url": "http://s3.amazonaws.com/fabletest/4q15bsgmt2",
                "width": 640,
                "height": 450
            },
            {
                "url": "http://s3.amazonaws.com/fabletest/bv2814ghmd",
                "width": 500,
                "height": 351
            },
            {
                "url": "http://s3.amazonaws.com/fabletest/x0dq7gzb4f",
                "width": 230,
                "height": 230
            },
            {
                "url": "http://s3.amazonaws.com/fabletest/4e7h95rt3f",
                "width": 230,
                "height": 480
            },
            {
                "url": "http://s3.amazonaws.com/fabletest/g1pmqk7r6y",
                "width": 480,
                "height": 230
            }
        ],
        "loc_latlong": [
            57.0,
            -99.0
        ],
        "thumb_480x230": {
            "url": "http://s3.amazonaws.com/fabletest/g1pmqk7r6y",
            "width": 480,
            "height": 230
        },
        "processed": true,
        "author_id": 1,
        "content_id": 13259,
        "thumb_500x500_low": {
            "url": "http://s3.amazonaws.com/fabletest/oznumyqve7",
            "width": 500,
            "quality": 4,
            "height": 351
        }
    },
    "browser_long": -122.53489685058594,
    "pos_votes_count": 0
}

【问题讨论】:

  • 你可以使用 Firebug,在这里设置断点,并确保引号中的内容有效吗?

标签: javascript jquery python django json


【解决方案1】:

你必须这样做:

var params = JSON.parse('{{ all_params_in_json|escapejs }}');

否则,例如 all_params_in_json 变量中的 ' char 会终止字符串并且所有地狱都会松散。

【讨论】:

    【解决方案2】:

    听起来您对 JSON 中的标签使用了无效字符。检查这个,它可能取决于浏览器什么是合法的。

    【讨论】:

    • 你能检查我的 json 看看我有哪些不正确的字符吗? (那个json有效)
    • 看不到任何问题。您是如何真正将 JSON 提供给 JSON.parse()?该字符串包含会导致错误的字符( ' ,请参阅 Tomasz 的答案,换行符也会导致错误),如果您按照问题中发布的方式进行操作。
    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 2022-01-07
    • 2019-07-24
    相关资源
    最近更新 更多