如何将一个布尔值从javascript传递给python?

Dav*_*542 14 javascript python

以下似乎传递字符串而不是布尔值.我如何传递布尔值?

$.post('/ajax/warning_message/', {'active': false}, function() {
            return
       });
Run Code Online (Sandbox Code Playgroud)
def warning_message(request):
    active  = request.POST.get('active')
    print active
    return HttpResponse()
Run Code Online (Sandbox Code Playgroud)

Ósc*_*pez 44

在你的Python代码中执行以下操作:

active = True if request.POST.get('active') == 'true' else False
Run Code Online (Sandbox Code Playgroud)

甚至更简单:

active = request.POST.get('active') == 'true'
Run Code Online (Sandbox Code Playgroud)

请注意,该get()函数将始终返回一个字符串,因此您需要根据所需的实际类型进行转换.

  • 为了便于阅读,我建议以下内容:active = request.POST.get('active',False)=='true' (3认同)

Vis*_*ioN 7

假设您可以将boolean值作为true/false或发送到服务器1/0,在服务器端,您可以使用以下命令检查两种情况in:

def warning_message(request):
    active = request.POST.get('active') in ['true', '1']
    print active
    return HttpResponse()
Run Code Online (Sandbox Code Playgroud)

否则,如果您确定您的布尔值仅true/false用于:

def warning_message(request):
    active = request.POST.get('active') == 'true'
    print active
    return HttpResponse()
Run Code Online (Sandbox Code Playgroud)