Sto cercando di effettuare una chiamata API con jquery ajax, ho lavoro ricciolo per l'API, ma il mio ajax sta gettando HTTP 500
Ho un comando di ricciolo di lavoro che assomiglia a questo:
curl -u "username:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"foo":"bar"}' http://www.example.com/api
ho provato ajax come questo, ma non funziona:
$.ajax({
url: "http://www.example.com/api",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username:password"));
},
type: 'POST',
dataType: 'json',
contentType: 'application/json',
data: {foo:"bar"},
success: function (data) {
alert(JSON.stringify(data));
},
error: function(){
alert("Cannot get data");
}
});
che cosa mi manca?
A meno che l'API non supporti la richiesta di dominio incrociato con CORS, non è possibile! È comunque possibile effettuare la chiamata ajax sul lato server e quindi lasciare che il server esegua il file cURL. – adeneo
@adeneo Sto usando un packaging personalizzato che non blocca la richiesta cross domain, assumendo che questa sia la stessa origine, come faccio a far funzionare tutto questo? – krisrak