Django与JQuery EasyUi一起使用的一些问题

CSRF问题

在easyui 中,很多组件都是需要AJAX提交数据的,比如COMBOBOX。easyui中,AJAX默认的method为POST,而Django的POST请求是需要CSRF的,所以,需要在前端页面中设置AJAX的method为GET。
如果想用POST方法提交数据的话,在前端的JS部分,加入以下代码:

$.ajaxSetup({
    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});

JSON问题

在Django 的View中,直接返回单个json对象,是无法用于easyui的组件的,因为,easyui的组件json的格式要求为数组,例如:

[{'id':1,'text':'Hello'}]

即使单个的json对象也要放到数组里,在Django的View中,可以这样写

import json
def demo(request):
    q = ...
    .........
    data = {
    'id'=001,
    'text'=q
    }
    s = json.dumps(data)
    s = s.join('[]')
    return HttpResponse(s)  

你可能感兴趣的:(Django与JQuery EasyUi一起使用的一些问题)