2017-07-04 33 views
0

enter image description here發送單一的點擊

logout(){ 
 
    var destroySession='{"token":"'+this.token+'"}' 
 
    console.log("Session Destroy"+destroySession) 
 
    axios.post(eventBus.apiURL+'logout',{ 
 
    headers: { 
 
     'Content-type': 'application/json', 
 
    }, 
 
    body: destroySession, 
 
    }).then(response=>{ 
 
    console.log("RESadas :: "+JSON.stringify(response.data))   
 
    alert("Logout successfully..!") 
 
    this.$router.push('/')  
 
    },error=>{ 
 
    console.log(error); 
 
    alert("Some Issue for LogOut at Server Side..!") 
 
    
 
    }); 
 
    
 

 
    window.localStorage.removeItem('token') 
 
    window.localStorage.removeItem('name') 
 
    this.$router.push('/') 
 
}
<button @click="logout">Logout</button>

我在vuejs書面退出代碼2 AJAX POST請求,但在單擊時它發送兩個POST請求和會話銷燬時問題發生在服務器端。

+0

所以你想發送2個請求到服務器,或者你有問題,因爲2個請求正在發送到服務器?如果是後者,當第一個請求開始時,您可以將「禁用」屬性添加到按鈕。 –

+0

問題是2請求正在發送 – AshD

回答

0

作爲每Mozilla Developer Network

預檢要求

不同於「簡單的請求」(上面討論的), 「預檢」 請求 第一個發送由OPTIONS方法的HTTP請求發送到資源上 其他域名,以確定實際請求是否爲 可安全發送。跨站點請求以這種方式進行預檢,因爲它們可能對用戶數據有影響 。

如果請求使用以下任何一種方法::

特別是,如果任何的下列 條件之一爲真請求被預檢

  • DELETE
  • CONNECT
  • 選項
  • TRACE
  • PATCH

或者,如果,除了由 用戶代理(自動設置的標頭,例如,連接,用戶代理,或任何與所述定義的名稱 其它頭的抓取規格爲「禁止 標題名稱」),該請求包括除了那些 抓取規範定義爲是「CORS-safelisted請求頭」以外的任何標題, ,其如下:

  • 接受
  • 接受語言
  • 內容語言
  • 內容類型(但要注意下面的附加要求)
  • DPR
  • 下行
  • 保存,數據
  • 視口寬度
  • 寬度

或者,如果Content-Type標頭的值爲 其他值r除以下幾點:

  • 應用程序/ x-WWW窗體-urlencoded
  • 的multipart/form-data的
  • 純文本/

更新

請閱讀關於如何禁用預檢請求的答案:Link

+0

你建議使用POST發送一個請求再見? – AshD

+0

您的功能只發送一個發佈請求。第一個只是檢查發送請求是否安全發送。 –

+0

如果您看到第二個請求,則您只會知道請求數據僅在該請求上發送。 –