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":"提交错误"}')

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏西二旗一哥

iOS - autoreleasepool and @autoreleasepool

+ 在一个自动引用计数的环境中(并不是垃圾回收机制),一个包含了多个对象的 NSAutoreleasePool 对象能够接收 autorelease 消息并且...

1694
来自专栏Android开发指南

2.下拉刷新、二维码

3607
来自专栏Pythonista

牛掰的python与unix

  加载subprocess模块仅仅是将可以使用的代码文件加载进来。也可以创建自己的模块或文件,拱以后重复使用,这与加载subprocess模块的方法相同。IP...

1172
来自专栏Python小屋

Python回文判断代码优化与6个思考题

送个福利:清华大学出版社和新宝图书专营店联合推出正版特价图书《Python程序设计开发宝典》,原价69元,特价47.6元,详情:https://detail.t...

3656
来自专栏葡萄城控件技术团队

扩展GridView控件——为内容项添加拖放及分组功能

引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项。打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现Gri...

3615
来自专栏游戏杂谈

IE中的unknown类型

如果在type这段script内有vbTest的JavaScript函数声明,那么typeof得到的将会是function,vbscript中的vbTest将会...

1287
来自专栏恰童鞋骚年

ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

  在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归。所以抛弃之前的那种事件响应的模型,抛弃服...

1252
来自专栏我和未来有约会

如何在silverlihgt中使用右键

一般我们在silverlight中点击右键会出现如下的对话筐. ? ? 在flash中 其提供了一个可定制话的右键菜单系统.(ContextMenu) 这个...

2117
来自专栏码匠的流水账

httpclient参数配置

默认的话,是从response里头读timeout参数的,没有读到则设置为-1,这个代表无穷,这样设置是有点问题了,如果是https链接的话,则可能会经常报

5051
来自专栏cloudskyme

OTL技术应用

什么是OTL:OTL 是 Oracle, Odbc and DB2-CLI TemplateLibrary 的缩写,是一个操控关系数据库的C++模板库,它目前几...

6236

扫码关注云+社区

领取腾讯云代金券