La conversion curl cmd pour jQuery $.ajax()

Je suis en train de faire un appel d'api avec ajax de jquery, j'ai curl de travail pour l'api, mais mon ajax est en train de lancer HTTP 500

J'ai une boucle de commande de travail qui ressemble à ceci:

curl -u "username:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"foo":"bar"}' http://www.example.com/api

J'ai essayé ajax comme ça, mais il ne fonctionne pas:

$.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");
    }
});

Ce qui me manque ?

À moins que l'API prend en charge la croix-demande de domaine avec de la SCRO, vous ne pouvez pas! Vous pouvez toutefois faire appel ajax à la serverside, puis laissez-le serveur ne le cURL choses.
Je suis, en utilisant des emballages qui ne bloque pas la croix de domaine demande, en supposant que c'est la même origine, comment faire pour que cela fonctionne ?

OriginalL'auteur krisrak | 2013-11-22