React中Mailchimp订阅期间的脚本错误

时间:2018-01-04 15:30:10

标签: reactjs ssl jsonp mailchimp

我尝试使用this npm module来实现通过双重选择订阅Mailchimp简报的可能性。

在插件作者提供的example中,一切看起来简单易行,就我所知,该示例有效。但是,当我在本地尝试时,以最简单的方式,就像在示例中一样,但是使用正确的URL,id和u参数,它总是给我这个错误:

  

使用来源加载失败   “https://xxx.us17.list-manage.com/subscribe/post-json?u=e11e628c90e2d07b9bd406c69&id=9e0ccb1924&EMAIL=name%40domain.tld&c=__jp0”。

(注意:我当然更改了子域中的电子邮件地址和客户名称,以免公开。)

所有这些都发生在我使用本地运行的create-react-app创建的React应用程序中。 Mailchimp提供的默认AJAX订阅表单也没有用。它给了我同样的错误。

我已经尝试过,搜索并查找了无数可能而且不太可能出现此错误的原因,但到目前为止没有任何效果,而且似乎我终于在我的智慧结束了。

由于应用程序在本地运行且使用默认的create-react-app设置,上述是否可能是某种与SSL / TLS相关的错误,CORS问题或(最后请注意__jp0错误消息中的URL)一些或多或少模糊的JSONP问题?如果是这样,任何关于发生了什么或我可能做错什么的线索?

我希望我能够透明地解释自己。非常感谢任何帮助。

编辑:

当我使用浏览器调用错误消息中的网址时,我收到此回复:__jp0({"result":"success","msg":"Thank you for subscribing!"})

所以订阅确实有效,而且响应似乎确实是JSONP。问题是,这是实际错误还是其中的一部分。

编辑:2018-01-11:

没有人知道我的问题的潜在答案?任何人?我只是像这里的焦油泥一样厚吗?

我仍然没有解决这个问题,我仍然不知道为什么我收到一个JSONP字符串,当我使用的npm软件包实际上能够处理这个时,会在每个浏览器中出现错误。由于已经通过以下有用用户的评论建立,我在通过create-react-app创建的应用中使用JSONP /动作网址表单。我已尝试使用以下npm模块向应用程序添加简单表单,以便在将您的电子邮件地址发送到mailchimp后向您提供反馈。

实际的订阅工作正常,但Firefox给了我错误:Loading failed for the <script> with source […]和其他浏览器也这样做。我已经尝试了以下npm模块:

  • react-mailchimp-subscribe-forme
  • react-mailchimp-subscribe

到目前为止,没有任何一个骰子。也许我的理解存在缺陷,但我至少对这些假设是正确的:

  • 它可能不是CORS问题
  • 它很可能不是SSL问题

再一次,我感谢任何关于我做错事的新线索(显然我一定做错了)。

2 个答案:

答案 0 :(得分:1)

我知道现在造成这种情况的原因。问题似乎是跟踪。

我已经关闭了所有的Firefox插件以及其他浏览器中的所有插件,我试图让这个插件工作,所以adblocker并不是罪魁祸首,正如我在发布此问题之前已经建立的那样。在Firefox中,当我将跟踪选项设置为&#34;从不&#34;或者&#34;仅限私人窗户&#34;并在私人窗口中试用。

有趣的是,我应该在浏览器中看到一条消息,告诉我由于跟踪选项,请求或响应已被阻止。再次关闭所有插件并明确地将跟踪选项从最大隐私设置切换到中等设置后,我收到了错误消息,因此我将其完全关闭然后突然工作。

此时我知道跟踪选项的罪魁祸首,但似乎也存在浏览器错误。

我现在将此标记为解决方案,但如果有人了解更多,我可以提出建议。

答案 1 :(得分:0)

mailchimp api不支持CORS,其中你无法从客户端调用mailchimp API。

CORS Policy