Maison > Article > interface Web > Solution à l'erreur 403 lors de l'utilisation des données de publication jquery ajax dans Django
Dans Django, lors de l'utilisation des données de publication jquery ajax, une erreur 403 se produira. Est-ce que quelqu'un sait comment la résoudre ? Je vais partager deux solutions avec vous ci-dessous. Les amis qui en ont besoin peuvent s'y référer
. Dans Django, lors de l'utilisation des données de publication jquery ajax, une erreur 403 se produira
Méthode 1 :
Si jQuery est utilisé pour traiter ajax, Django j'ai directement envoyé un morceau de code pour résoudre le problème. Mettez-le dans un fichier js séparé et introduisez-le dans la page html. Notez que ce fichier js doit être introduit après l'introduction du fichier jquery js
$(document).ajaxSend(function(event, xhr, settings) { function getCookie(name) { var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } function sameOrigin(url) { // url could be relative or scheme relative or absolute var host = document.location.host; // host + port var protocol = document.location.protocol; var sr_origin = '//' + host; var origin = protocol + sr_origin; // Allow absolute or scheme relative URLs to same origin return (url == origin || url.slice(0, origin.length + 1) == origin + '/') || (url == sr_origin || url.slice(0, sr_origin.length + 1) == sr_origin + '/') || // or any other URL that isn't scheme relative or absolute i.e relative. !(/^(\/\/|http:|https:).*/.test(url)); } function safeMethod(method) { return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); } if (!safeMethod(settings.type) && sameOrigin(settings.url)) { xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')); } });
Méthode 2 :
Ajouter @ avant la vue qui gère les données de publication Le csrf_exempt décorateur
tel que
@csrf_exempt def profile_delte(request): del_file=request.POST.get("delete_file",'')
est ce que j'ai compilé pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Explication détaillée d'ajax + jtemplate pour implémenter la pagination dynamique
Une implémentation simple d'Ajax montrant la progression lors de la requête
JQuery Ajax génère dynamiquement un tableau
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!