Ich verwende reines JavaScript, um auf bestimmte Webdienste zuzugreifen, die mit Spring erstellt wurden. Als ich versuchte, einen Ajax-Post-Anruf bei einem der Dienste zu verwenden, stieß ich auf das Problem mit CSRF.Ungültiger CSRF-Token mit Ajax
Der Ajax-Aufruf ist die Linien:
var data = {'attribute1':'1','attribute2':'2'};
$.ajax({
type: "POST",
url: url,
data: data,
success: function(data)
{
if (typeof inputId !== 'undefined') {
$("#"+inputId).val(JSON.stringify(data));
}
console.log(JSON.stringify(data));
}
});
Ich habe die Web gesucht, aber alles, was ich gefunden ist das Back-End (JSP, PHP) zu aktualisieren, um das Attribut „$ aufzufüllen {_ csrf. parameterName} "in der Form. Allerdings verwende ich kein Backend, die ganze Seite ist nur HTML und Javascript.
Vielen Dank für die Erklärung. Was ich wirklich wissen muss, sind diese zwei Dinge, der Name, den der Server erwartet, und das eigentliche Token. Ich habe weitere Nachforschungen angestellt, und anscheinend wird Spring das Token für den Client standardmäßig unsichtbar machen. Daher scheint es, dass wenn Sie ihre Technologie (JSP) nicht verwenden, müssen Sie es deaktivieren. – Tony