0

我正在尝试通过 jQuery AJAX 将一些数据发布到 Django (1.4) 视图。我以前做过,但这次有些不对劲。如Django Docs中所述,我已经完成了 AJAX 设置以包含 CSFR 令牌。

jQuery 沿线:

$.ajax({
        url:'/login/',
        type:'POST',
        contentType:'application/json; charset=UTF-8;',
        dataType:'json',
        data: JSON.stringify({
            username:$('#this').val(),
            password:$('#that').val()
        })

但是,当我发送数据时,当我在视图中包含该行时:

 print request.raw_post_data

它会打印两次。第一次使用 QueryDict {u'this':u'these', u'that':u'those'} 发布数据,第二次使用 csrfmiddleware 令牌。

为什么要打印两次?他们不应该在同一个 QueryDic 中吗?

4

1 回答 1

0

因为我没有包括

e.preventDefault()

表格发送了两次。一个 QueryDict 是有效的,但视图函数没有处理 b/c 默认提交数据只有 csrftoken。

用过的

simplejson.loads(request.raw_post_data)

获取我的数据。

于 2012-10-21T04:30:02.237 回答