2014-10-09 16 views
13

Próbuję przekonwertować polecenie w curl na javascript. Szukałem w Google, ale nie znajduję rozwiązania lub wyjaśnienia, które mogą mi pomóc. Polecenie curl jest następujące:Konwertuj podkręcenia polecenia do javascript

curl https://www.google.com/accounts/ClientLogin 
--data-urlencode [email protected] 
--data-urlencode Passwd=******* 
-d accountType=GOOGLE 
-d source=Google-cURL-Example 
-d service=lh2 

W tym celu chcę przekonwertować polecenie na funkcję $ .ajax(). Moim problemem jest to, że nie wiem, co mam wstawić do funkcji setHeader dla opcji obecnych w curl polecenia.

$.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) { 
     // 
    } 

Odpowiedz

16

Domyślnie $.ajax() będzie konwertowania danych na ciąg kwerendy, jeśli nie już ciąg, ponieważ dane Oto obiektu, zmienić dane do łańcucha, a następnie ustawić processData: false, tak że nie jest konwertowany do zapytania strunowy.

$.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

dziękuję to działa :) – seal