【发布时间】:2018-11-13 03:59:06
【问题描述】:
我想反序列化这个数据
csrfmiddlewaretoken=5U9Fgv8Gdmft6wU1zwPJlRxwIsXHaElfvKTtqkT2HtzWc6uNqFq1AeogAOkIjWb5&title=jstree+inline+HTML+demo&ubc=1&company-name=teste&company-cnpj=222.222.222-22&company-email=test%
但是当我尝试 json.loads(data) 或 data.json()
我收到这个错误
从 None 提高 JSONDecodeError("Expecting value", s, err.value) json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
$('#documet').ready(function(){
$('#project_form_id').on('submit', function(event){
var csrfToken =
$('input[name="csrfmiddlewaretoken"]').val();
event.preventDefault()
var form = $(this)
$.ajax({
url: "{% url 'project_create' %}",
data: {'form':form.serialize(), 'areas':JSON.stringify(list_area)},
type: form.attr("method"),
dataType: 'json',
headers: {'X-CSRFToken': '{{ csrf_token }}'},
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function(data){
console.log(data.areas)
console.log(data.project)
},
error:function(error){
console.log(error)
//$("#modal-book .modal-content").html(data.html_form);
}
});
})
})
【问题讨论】:
-
这是 urlencoded 数据,不是 json..
-
对不起,我还在学习,我怎样才能使这些数据在我的视图中可用,因为我正在尝试在我的表单中使用它
-
好吧,如果要传输 json (
application/json; charset=utf-8),首先需要正确的 contentType,然后将 data 属性转换为 json 字符串(请记住,json 是一个字符串格式..) -
很抱歉打扰你,但现在我得到这个'为了允许非字典对象被序列化设置'类型错误:为了允许非字典对象被序列化设置安全参数为 False。