2014-10-09 17 views
13

Ich versuche, einen Befehl in curl in Javascript zu konvertieren. Ich habe in Google gesucht, aber ich finde keine Lösung oder eine Erklärung, die mir helfen kann. Der Befehl curl ist dies:Convert Befehl curl zu Javascript

Mit diesem möchte ich den Befehl in $ .ajax() -Funktion umwandeln. Mein Problem ist, dass ich nicht weiß, was ich in die Funktion setHeader für die in curl vorhandenen Optionen bringen muss.

$.ajax({ 
      url: "https://www.google.com/accounts/ClientLogin", 
      type: "GET", 

     success: function(data) { alert('hello!' + data); }, 
     error: function(html) { alert(html); }, 
     beforeSend: setHeader 
    }); 


    function setHeader(xhr) { 
     // 
    } 

Antwort

16

standardmäßig $.ajax() werden Daten an einen Query-String konvertieren, wenn nicht bereits ein String ist, da hier Daten ein Objekt ist, in eine Zeichenfolge, die Daten zu ändern und dann processData: false, so dass es nicht umgesetzt wird abgefragt Zeichenfolge.

$.ajax({ 
url: "https://www.google.com/accounts/ClientLogin", 
beforeSend: function(xhr) { 
    xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password")); 
}, 
type: 'POST', 
dataType: 'json', 
contentType: 'application/json', 
processData: false, 
data: '{"foo":"bar"}', 
success: function (data) { 
    alert(JSON.stringify(data)); 
}, 
    error: function(){ 
    alert("Cannot get data"); 
} 
}); 
+0

danke es funktioniert :) – seal