400-Fehler beim Senden von JSON-Daten an WordPress Admin Ajax mit Fetch-API

Lesezeit: 1 Minute

Ich verwende Fetch Api mit WordPress admin-ajax.php.

  1. Daten als URLSearchParams senden. Es funktioniert.
    let data = {
        action: 'my_action',
    }
    
    fetch( ajaxurl, {
        method: 'POST',
        credentials: 'same-origin',
        body: new URLSearchParams(data)
    });
  1. Daten als FormData senden. Es funktioniert.
    let data = New FormData();
    data.append('action', 'my-action');
    
    fetch( ajaxurl, {
        method: 'POST',
        credentials: 'same-origin',
        body: data
    });
  1. Daten als JSON senden. Es FUNKTIONIERT NICHT, 400 FEHLER.
    let data = {
        action: 'my_action',
    }
    
    fetch( ajaxurl, {
        method: 'POST',
        credentials: 'same-origin',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
    });

Ich bin neugierig, warum es 400 Fehler bekam? etwas, das ich vermisse?

  • Ich habe mich auch damit beschäftigt. Hast du es gelöst?

    – Adel

    25. Januar 2022 um 9:51 Uhr

Ändern Sie Ihr Abruf-Login wie unten und versuchen Sie es. Da Sie ‘Content-Type’ : ‘json’ angeben, müssen Sie den JSON nicht stringifizieren.

    fetch( ajaxurl, {
        method: 'POST',
        credentials: 'same-origin',
        headers: {
          'Content-Type': 'application/json'
        },
        body: data
    });

  • Nein. Wir müssen den Json stringifizieren, da wir ihn angegeben haben 'Content-Type': 'application/json'.

    – Wolkenstein

    14. August 2021 um 15:39 Uhr

1446910cookie-check400-Fehler beim Senden von JSON-Daten an WordPress Admin Ajax mit Fetch-API

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy