나머지 API에 데이터를 게시하려면 this 및 this을 사용하고 있습니다. 하지만 나쁜 요청 (400 회)을받습니다.Django 나머지 api는 게시 요청에서 csrf 문제를 일으키는 javascript 클라이언트를 사용합니다.
내 코드
var dataTask = {};
var dataPeri = {};
var csrf;
var that = this;
var date = new Date();
var dateString;
dateString = date.toJSON().slice(0, 10);
dataPeri['date'] = dateString;
dataPeri['customer'] = customerId;
csrf = $('input[name="csrfmiddlewaretoken"]').val();
console.log('csrf:'+csrf);
console.log(dataPeri); //The objects seems fine with date at the right format and customerId a number
$.ajaxSetup({
beforeSend: function(xhr, settings){
if (!this.crossDomain){
xhr.setRequestHeader("X-CSRFToken", csrf);
}
}
});
$.ajax({
dataType:'json',
type: 'post',
url: '/crm/api/periodontogramms/',
data:JSON.stringify(dataPeri),
success: function (data, textStatus, jqXHR){
alert("New Periodontogramm saved successfully");
console.log("Periodontogramma "+ data);
that.periodontogramms.push(data);
},
error: function (jqXHR, textStatus, errorThrown){
alert(errorThrown);
}
});
내가 다른 메시지가 오류와 함께 제공하지 않기 때문에 오류가 무엇인지 얻을 수없는 부분입니다. 나는 JSON을 보내고있다. (JSON.stringify로). 다른 것을 보내야합니까? 문제가 발생한 dateString 일 수 있습니까? 내 browsable API에 뭔가를 게시하려면 다음 형식으로 날짜를 사용합니다 : YYY-MM-DD
. 그것이 내가 date.toJSON.slice(0, 10)
에서 얻는 것입니다. 그것은 CSRF 문제가 나는 금지 메시지를 받고되어서는 안 된 경우 (403)