2017-06-23 52 views
0

我想從嵌入到我的HTML文件中的腳本調用REST API發佈函數。該按鈕由於某種原因不起作用,迄今爲止,還沒有在線資源幫助過我。這個html代碼將通過電子郵件發送,而使用outlook的人打開電子郵件並點擊鏈接調用其餘api。來自HTML的REST 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> 

上午我做錯事或者是展望不含有像這樣的鏈接HTML郵件兼容?

+0

可能重複[JavaScript是否支持電子郵件?](https://stackoverflow.com/questions/3054315/is-javascript-supported-in-an-email-message) – Igoranze

+0

你看了一下控制檯在你的瀏覽器中?似乎你是[CORS錯誤]的受害者(https://stackoverflow.com/questions/19325314/how-to-detect-cross-origin-cors-error-vs-other-types-of-errors-for -xmlhttpreq)的鏈接。嘗試設置另一個鏈接並重試。 – FireSarge

+0

是的,我看過我的控制檯,我不認爲它的CORS錯誤。 – Megan

回答

0

我認爲電子郵件客戶端不支持使用Javascript。我建議您在電子郵件中創建常規鏈接,例如到http://example.com/email/index.php,並在那裏進行API調用。

+0

有沒有辦法我可以做到這一點,併發送字符串值? – Megan

+0

是的,如果你想創建一個這樣的URL:/?param1 = value1&param2 = value2,並在服務器端檢索那些(如果是PHP)$ _GET,你應該能夠預先填充鏈接,例如電子郵件用戶的地址。 –