2012-07-21 119 views
0

我使用的是MailChimp的API,我可以通过将电子邮件地址传递给特定的URL来成功订阅电子邮件地址。提交电子邮件后,MailChimp回应成功或失败代码。如何使用ajax返回成功/失败消息?

例子:myurl.com/[email protected]

我需要什么

我的形式不显示的是我的成功/失败消息帮助基于MailChimps返回的代码。我究竟做错了什么?

http://jsfiddle.net/WarrenBee/c4MWX/

+2

小提琴不起作用,因为您正在进行跨域呼叫。 – 2012-07-21 16:03:35

回答

2

只要我在评论上猜测,我会猜测答案。我在我的浏览器中去了http://yoursite.com/subscribe/[email protected]。我得到这个:

Unable to load listSubscribe()! Code=220 Msg="[email protected]" has been banned

所以,你有你的服务器端代码的问题。它无法加载名为listSubscribe()的函数。另外,无论你在JSON format还是没有返回东西,但你的ajax调用都期待着这样。

+0

我不知道你为什么被禁止。不同的电子邮件地址将工作。 – WarrenBee 2012-07-21 16:21:13

+1

禁令不是重点。无论如何,这是一个虚假的电子邮件地址。重点是响应不是JSON格式,并且您的代码中引用了无法加载的函数时出现错误。 – 2012-07-21 16:35:26

+0

哦,并且“无法加载...”消息根本不存在问题 - PHP代码没问题。 listSubscribe()仅在没有错误时运行。问题是显示的代码没有被返回到我的表单。 – WarrenBee 2012-07-21 19:46:44

0

它不工作,因为AJAX操作失败。您正试图发布到不同域中的网址,并且该特定服务器未设置为允许该网址。

+0

是的,但在他的实际页面中,这不太可能是跨域呼叫。 (我基于他的名字是WarrenBee,而他打电话的域名是warrenbaskin.com)。我只是猜测。 – 2012-07-21 16:07:11

+0

@JonathanM你可能是对的,但我们用jsfiddle做的事情并不多。 – Pointy 2012-07-21 16:10:14

+0

是的,这是一个小提琴没有帮助的罕见情况之一。 – 2012-07-21 16:11:04