Ich versuche, einen API-Aufruf mit jQuery Ajax zu machen, habe ich curl Arbeits für die api, aber meine Ajax wirft HTTP 500
Ich habe einen curl Befehl arbeiten, dass wie folgt aussieht:
curl -u "username:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"foo":"bar"}' http://www.example.com/api
ich ajax wie dies versucht, aber es funktioniert nicht:
$.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");
}
});
Was bin ich?
Sofern die API Cross-Domain-Anfrage mit CORS unterstützt, können Sie nicht! Sie können jedoch den Ajax-Aufruf auf der Serverseite ausführen und dann den cURL-Code vom Server verarbeiten lassen. – adeneo
@adeneo Ich benutze benutzerdefinierte Verpackung, die keine Cross-Domain-Anfrage blockiert, vorausgesetzt, dies ist der gleiche Ursprung, wie bekomme ich das zum Funktionieren? – krisrak