簡體   English   中英

純JavaScript的AJAX請求出現“ ActionController :: InvalidCrossOriginRequest”錯誤

[英]“ActionController::InvalidCrossOriginRequest” error with AJAX request by plain JavaScript

我有這樣的代碼:

jQuery.ajax({
  url: url  // Some URL
});

上面的代碼運行完美。 但是,我需要將此代碼轉換為純JS。 所以我做了:

var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();

但是,在這里,當AJAX請求被觸發時,我在Rails服務器日志中得到了這個錯誤:

ActionController :: InvalidCrossOriginRequest-安全警告:另一個站點上的嵌入式標記請求受保護的JavaScript。 如果您知道自己在做什么,請繼續對此操作禁用偽造保護,以允許跨域JavaScript嵌入。

注意 :我在link_to傳遞format: :js時遇到了類似的錯誤(我已解決 )。 但是,純JavaScript代碼會發生這種情況。

我該如何解決?

添加xhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 修復了導軌中的交叉原點錯誤。

現在,代碼如下所示:

var xhttp = new XMLHttpRequest();

xhttp.open("GET", url, true);
xhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhttp.send();

暫無
暫無

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

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