簡體   English   中英

Mandrill XMLHttpRequest錯誤-無效的Access-Control-Allow-Origin標頭

[英]Mandrill XMLHttpRequest Error - invalid Access-Control-Allow-Origin headers

我在Heroku上有一個應用程序,網址為http://random-name.herokuapp.com ,可通過Mandrill發送電子郵件。 但是,無論我是在本地localhost:5000運行該應用程序localhost:5000還是在Heroku上遠程運行該應用程序,在嘗試發送電子郵件時都會拋出以下錯誤:

XMLHttpRequest無法加載https://mandrillapp.com/api/1.0/messages/send.json 對預檢請求的響應未通過訪問控制檢查:當憑據標志為true時,不能在'Access-Control-Allow-Origin'標頭中使用通配符'*'。 因此,不允許訪問源“ http://random-name.herokuapp.com ”。

關於此錯誤,Stack Overflow上有很多文檔(請參閱CORS:當憑據標記為true時,不能在Access-Control-Allow-Origin中使用通配符 ),因此,我將Express標頭設置為以下內容:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "http://localhost:5000 http://random-name.herokuapp.com");
  res.header('Access-Control-Allow-Credentials', true);
  res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

但是,這似乎無法解決問題。 我在Mandrill的文檔中也找不到任何有用的東西。 我猜想我沒有正確指定標題,或者甚至沒有使用它們。 有任何想法嗎?

Access-Control-Allow-Origin使用單個值,而不是用空格分隔的列表。

您需要返回客戶端在Origin請求標頭中發送的所有內容(但是請先進行測試以確保它是可接受的起源!)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM