Uncaught SyntaxError: Unexpected token ' in JSON at position 1

Posted 雪落忆海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uncaught SyntaxError: Unexpected token ' in JSON at position 1相关的知识,希望对你有一定的参考价值。

听说js是一样很BT的语言,今天真是有点领教到了。

用python3.6+django2.0开发网站时,遇到了一个坑中之坑!

在异步数据提交Ajax的运用中,不免在回调函数中使用到JSON.parse(data)

浏览器控制台Console报错:

VM493:1 Uncaught SyntaxError: Unexpected token ‘ in JSON at position 1
    at JSON.parse (<anonymous>)
    at Object.success ((index):400)
    at j (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at x (jquery.min.js:5)
    at XMLHttpRequest.b (jquery.min.js:5)
success @ (index):400
j @ jquery.min.js:2
fireWith @ jquery.min.js:2
x @ jquery.min.js:5
b @ jquery.min.js:5
XMLHttpRequest.send (async)
send @ jquery.min.js:5
ajax @ jquery.min.js:5
(anonymous) @ (index):392
dispatch @ jquery.min.js:4
r.handle @ jquery.min.js:4

在网上找了半天的帖子,基本上都是驴唇不对马嘴。

正当我万般无奈之时,回想起了我自学的老男孩全栈教学视频中,武sir老师曾在课上笑称JS是一门最为BT的语言,你以为会报错的地方,往往不报错,你看不出哪里错了的地方,它没准儿就给你报错,于是我尝试着将后台原本传过来的字符串

return HttpResponse("{‘status‘:‘fail‘,‘msg‘:‘提交错误}")

改成了:

return HttpResponse(‘{"status":"fail","msg":"提交错误"}‘)

就不报错了。。。是的,如你所见,就是把双引号包着单引号,变成了单引号包着双引号,就解决啦!

以上是关于Uncaught SyntaxError: Unexpected token ' in JSON at position 1的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught (in promise) SyntaxError: Unexpected end of JSON input error

面对“Uncaught SyntaxError: Unexpected token ''”

Uncaught SyntaxError: Invalid shorthand property initializer

Webpack Babel 加载错误 - Uncaught SyntaxError: Unexpected token import [重复]

Uncaught SyntaxError: Invalid shorthand property initializer

解决 Uncaught SyntaxError: Unexpected token ‘<‘ 问题的一个方法