2016-01-09 4 views

Antwort

5
var params = Object.keys(query) 
        .map((key) => encodeURIComponent(key) + "=" + encodeURIComponent(query[key])) 
        .join("&") 
        .replace(/%20/g, "+"); 

fetch(url + "?" + params); 

Oder mit dem options Objekt übergeben - but this will NOT work with GET and HEAD method:

fetch(url, { 
    method: "POST", 
    body: convertObjectToFormData(query) 
}).then(...); 

function convertObjectToFormData(obj) { 
    var formData = new FormData(); 
    for (var key in obj) { 
     formData.append(key, obj[key]); 
    } 
    return formData; 
} 
+2

Es gibt keine Abfrage Unterstützung in 'fetch' ? –

+0

Sie können sie als 'body' im' options' -Objekt übergeben, aber Sie müssen sie in 'URLSearchParams' (noch nicht unterstützt) oder FormData konvertieren. Sehen Sie meine Bearbeitung für ein Beispiel. – Andreas

+0

'TypeError: Fehler beim Ausführen von 'fetch' auf 'Window': Request mit der Methode GET/HEAD kann nicht body' @Andreas haben, ich erhalte den obigen Fehler, als ich dein Beispiel ausprobierte –