jquery - 为什么 json.dumps() 在使用变量时会抛出 500 内部服务器错误?

标签 jquery python django json

我已经对此进行了彻底的测试,但我不知道为什么会这样做,所以我想知道是否有人可以解释......

当我尝试使用变量而不是字符串时,json.dumps() 抛出 500 内部服务器错误。

例如:

error = 'Login Failed:  Your username or password is incorrect.'
test = json.dumps({'form': error})

尝试通过 jQuery.ajax 返回时将返回 500 内部服务器错误

但是,

test = json.dumps({'form': 'Login Failed:  Your username or password is incorrect.'})

不会抛出 500 内部服务器错误。我已经用单引号、双引号、不同格式等彻底测试了这一点,它都指向 json.dumps()

由于某种原因,这只发生在通过 jQuery.ajax 调用 View 时

即使我不返回 json.dump() 并返回一个普通的 json 对象,它仍然会抛出 500 错误,这就是为什么我'我们得出的结论是,这是 json.dumps() 而不是 .ajax 调用 **

这是我使用此代码的额外代码片段:出于未知原因..通过 jQuery.ajax() 调用此特定页面时将引发错误

是的..即使变量“test”没有被返回。

        elif(password == 'testing_this'):
             error = 'Login Failed:  Your username or password is incorrect.'
             errors = True

        test = json.dumps({'form': error})
        #print test
        date = datetime.date.today()

        if(errors == True):
            return HttpResponse(json.dumps({'form': 'error message here'}), mimetype='application/json')
        else:
            return HttpResponse(json.dumps({'result': True}), mimetype='application/json')

最佳答案

在设置中打开 DEBUG,并进行回溯可能会很有用。

就墙而言,我可能会假设在此检查之前 (if(errors == True):) 您可能忘记用初始值初始化错误,因此它会抛出 NameError...但这只是一个假设。

UPD:抱歉,我忘记了 ajax 部分 - +1 到 waitinforatrain's评论

关于jquery - 为什么 json.dumps() 在使用变量时会抛出 500 内部服务器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539825/

相关文章:

Django-nonrel + Django-注册问题: unexpected keyword argument 'uidb36' when resetting password

管理中所有模型的 Django list_per_page

函数中条件返回的 Pythonic 方式

python - 一维卷积层尺寸不匹配问题

jquery - jsplumb 未在嵌套 div 之间连接

当带有类的选项卡可见时jquery隐藏元素

python - 包含 GIL 的简单 Python 函数

Django 按注释字段过滤太慢

javascript - 动态添加时 Span 元素溢出

javascript - 通过链接将 javascript 推送到 console.log 新打开的页面