jef*_*lte 9 javascript ajax jquery json mailchimp
我有以下代码用于将数据发送到MailChimp通讯列表(API v3).每次我type: POST
从函数中删除它时,它都会尝试通过GET发布数据并正确发送数据(在MailChimp API仪表板中确定响应).在浏览器(FF)中测试时,我得到一个带有"true"响应的.part文件.
$(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");
}
})
});
});
Run Code Online (Sandbox Code Playgroud)
我把这头发拉出来,任何见解都非常感激.
提前致谢,
JN
sid*_*sid 13
有一个未记录的端点使用JSONP来执行跨域ajax请求.
只是改变'帖子?' '后json?' 并添加'&c =?' 到标准url的末尾来获取JSONP端点.这不需要在客户端公开API密钥,也不需要创建服务器端视图.
我编写了一个使用此方法的jQuery插件,如果它有用的话
https://github.com/scdoshi/jquery-ajaxchimp
小智 9
主要问题是jc评论了你的原始帖子 - 由于同源策略问题,这根本不起作用.关于GET调用失败的原因,Firebug没有发声,但这就是它没有返回数据的原因.如果你通过POST观看,你会看到Firefox甚至没有拨打电话.另一方面,Chrome的js控制台直接解释了同源策略.
总而言之,如果没有其他原因阻止您公开发布帐户的API密钥,这是一件非常好的事情,这是一件非常糟糕的事情.如果原因没有立即陷入其中,请阅读API中提供的大量方法,然后意识到访问它们所需的只是API密钥.
执行此操作的正确方法是将数据POST回服务器,然后从那里发出请求.有几个完全建立PHP的例子(使用一个jQuery的,甚至),在这里.