来自 html 的 REST API 调用不起作用

Posted

技术标签:

【中文标题】来自 html 的 REST API 调用不起作用【英文标题】:REST API call from html not working 【发布时间】:2017-11-27 09:08:24 【问题描述】:

我正在尝试从嵌入到我的 html 文件中的脚本调用 REST API 发布函数。该按钮由于某种原因无法正常工作,并且到目前为止没有任何在线资源对我有帮助。此html代码将通过电子邮件发送,使用Outlook的人打开电子邮件并单击链接以调用其余api。

这里是html代码:

<a href="#" onclick="markAsDone();" target="_blank" style="font-size: 16px; font-family: Helvetica, Arial, sans-serif; font-weight: normal; color: #ffffff;    text-decoration: none; display: inline-block;">I am done. &rarr;</a>
<script type="text/javascript">
function markAsDone() 
    var xhttp = new XMLHttpRequest();
    xhttp.open("POST", "http://localhost:1337/UserDone", false);
    xhttp.sendRequestHeader("Content-type", "application/json");
    xhttp.send();

</script>

我做错了什么还是 Outlook 与包含带有此类链接的 html 的电子邮件不兼容?

【问题讨论】:

Is JavaScript supported in an email message?的可能重复 您在浏览器中查看过控制台吗?从链接上看,您似乎是CORS error 的受害者。尝试设置另一个链接,然后重试。 是的,我查看了我的控制台,我不认为它的 CORS 错误。 【参考方案1】:

我认为电子邮件客户端不支持使用 Javascript。我建议您在电子邮件中创建一个普通链接,例如到http://example.com/email/index.php,并在那里进行API调用。

【讨论】:

有没有办法可以做到这一点并发送字符串值? 是的,如果您要创建这样的 URL:/?param1=value1&param2=value2,并在服务器端使用 $_GET(在 PHP 的情况下)检索这些 URL,您应该能够预填充与例如用户的电子邮件地址的链接。

以上是关于来自 html 的 REST API 调用不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Jersey REST API 请求不起作用

通过 Keycloak REST API 注销用户不起作用

带有 RestSharp 的 Paypal Rest Api 在 xamarin android 中不起作用

django rest框架TokenAuthentication不起作用

令牌身份验证在 django rest 框架上的生产中不起作用

Cloudinary REST api 销毁不起作用? [关闭]