Я нашел несколько постов в связи с моим вопросом, но ни один из них не решил мою проблему. Я отправляю данные на сервер, но получаю сообщение об ошибке 403 с сообщением об ошибке, которое жалуется на csrf_token.
Вот мой html:
<ul id="EditorNav" class="editor-nav">
<form id="NavItemsEditorForm" class="nav-items-editor-form">
{% csrf_token %}
<!-- {{ form }} -->
{% for item in pages %}
<input class="editor-nav-input" type="text" value="{{ item }}"/>
{% endfor %}
</form>
<img id="Plus" class="plus" src="{% static 'img/plus.png' %}" alt="Plus" title="Een menu-item toevoegen" />
<img id="Shuffle" class="shuffle" src="{% static 'img/shuffle.png' %}" alt="Shuffle" title="Verander de volgorde van de menu-items" />
<button id="NavEditReady" class="nav-edit-ready">Klaar</button>
</ul>
, который я создал представление и добавил это представление к urlpatterns-arrau в urls.py. Вот мой javascript:
jQuery.each( jQuery( '.editor-nav-input' ), function( i ){
let data = {}
if( jQuery( this ).val() === '' )
{
jQuery( this ).remove();
}else{
const idx = jQuery( '.editor-nav-input' ).index( this );
const tekst = jQuery( '.editor-nav-input' ).eq( idx ).val();
data = {
"id": idx,
"tekst": tekst,
"href": tekst.replace(/\s/g, '_').toLowerCase(),
"volgorde": idx + 1,
};
formdata.push( data );
}
});
console.log( formdata );
// Stuur de data naar de server:
jQuery.ajax({
method: "POST",
url: "/pagepost/",
headers: { 'X-CSRFToken': '{{ csrf_token }}' },
data: formdata,
dataType: "json",
success: function( response ){
console.log(response);
},
error: function( err ){
console.log( err.responseText );
}
});
Я пробовал разные способы включения токена csrf в данные в качестве отдельного объекта. Но ничего не работает. Любая помощь приветствуется.