ajax是常用的进行网页数据更新的方式,jq的ajax进行post时,查看数据,经常为[object object],后端也没办法解析。现在给出可行的通讯方法:
方法1:
将ajax的data在发送是时,利用JSON.stringify进行字符串解析,代码如下:
josn_data={}
josn_data["username"]=$('#username').text();
josn_data["pdfname"]=$('#pdfname').text();
josn_data["tag"]=eval($('.value span').text())[0];
josn_data["content"]=$('.description span').text()
$.ajax({
url: '/upload/mark/',
type: "post",
data: JSON.stringify(josn_data),
headers: { 'X-CSRFtoken': $('#csrf').text() },
processData: false,
dataType:"json",
contentType: "application/json; charset=utf-8",
timeout: 30000,
success: function (res) {
}
如果是这样,在django中,POST.get()方法是没办法继续使用的,通过print(data = eval(request.body))可以看到,其是b’ '形式的字符串,然后使用data = eval(request.body)
转化为字典,就可以看成字典进行处理了。
方法2 :
jq中建立表单,var formdata = new FormData();
然后在表单中使用formdata.append(key,value);
这样的方法来添加数据,这样的方法,在django中可以直接的用POST.get()方法来进行处理