jQuery Ajax POST no funciona con MailChimp

Tengo el siguiente código que estoy usando para enviar datos a una list de boletines de MailChimp (API v3). Cada vez que elimino el type: POST de la function, intenta publicar los datos a través de GET y envía los datos correctamente (respuesta correcta en el panel de la API de MailChimp). Al probar esto en el browser (FF) obtengo un file .part con respuesta "verdadera".

  $(function(){ $("a#test").click(function(e){ e.preventDefault() data = { "apikey" : "667378947", "id" : "90298590285", "email_address" : "test@getmoxied.net", "output" : "json" } $.ajax({ type: "POST", url: 'http://us2.api.mailchimp.com/1.3/?method=listSubscribe', data: data, success: function(data){ alert(data); }, error: function(){ alert("err"); } }) }); }); 

Estoy tirando de mi pelo en este caso, cualquier idea es muy apreciada.

Gracias por adelantado,

JN

El problema principal es lo que jc comentó en su publicación original: esto simplemente no funcionará debido a problemas con la Política de Same Origin. Firebug no es tan explícito sobre por qué falla la llamada GET, pero es por eso que no devuelve datos. Si miras eso con el POST, verás que Firefox ni siquiera hace la llamada. La console js de Chrome, por otro lado, explica directamente la política de Same Origin para usted.

Con todo, esto es algo muy bueno si no le impide publicar públicamente la key API de su count, lo cual es muy malo. Si la razón por la cual no se refleja inmediatamente, lea la gran cantidad de methods disponibles en la API y luego descubra que todo lo que necesita para acceder a ellos es esa key API.

La forma correcta de hacerlo es enviar los datos de vuelta a su server, luego realice la request desde allí. Hay varios ejemplos PHP completamente construidos (uno que usa jquery, par), aquí .

Existe un punto final no documentado que utiliza JSONP para realizar requestes ajax de dominios cruzados.

¿Solo cambio 'publicación?' a 'post-json?' y agregue '& c =?' hasta el final de la url estándar para get el punto final JSONP. Esto no requiere que la key API esté expuesta en el lado del cliente, o la creación de una vista del lado del server.

Escribí un plugin jQuery que usa este método, si eso es útil en absoluto

https://github.com/scdoshi/jquery-ajaxchimp

 e.preventDefault(); data = { "apikey" : "667378947", "id" : "90298590285", "email_address" : "test@getmoxied.net", "output" : "json" }; 

¿Podría ser? Semicolon es importante. Jeje