亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

axios 發送的請求被 Laravel 運行了兩次

axios 發送的請求被 Laravel 運行了兩次

PHP
藍山帝景 2022-07-22 16:00:34
所以我想使用 axios 從前端向 Laravel 發送請求,它是跨源的,所以前端在localhost:3000,后端在localhost:8000/api,在 Laravel 中,我已經應用了 CORS中間件。在 axios 我已經設置了標題。axios 設置axios.defaults.baseURL = API_URLaxios.defaults.headers.common.Accept = 'application/json'axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*'axios 發布和刪除: function create(){    return dispatch => {        return new Promise((resolve,reject)=>{            HTTP.get('/post/category/create')                .then((data)=>{                    return resolve(data.data.data)                }).catch((data)=>{                    return reject(data)                })        })    }}export function destroy(data){    return dispatch => {        return new Promise((resolve,reject)=>{            HTTP.delete(`/post/category/${data}`)                .then((data)=>{                    return resolve(data.data)                }).catch((data)=>{                    return reject(data)                })        })    }}我如何調用函數: var SubmitCategory = async (e) => {        e.preventDefault();        var formData = new FormData(e.target)        await setSubmit(true);        await props.dispatch(insert(formData))            .then(data=>{                toaster(data.message,data.status)                props.history.replace({                    pathname: `/post/category`                })            })            .catch(data=>{                toaster(data.message,"error")                setError(data)            })        await setSubmit(false)    }<form autoComplete="off" onSubmit={e=>SubmitCategory(e)}> <<--- onSubmit...////這發生在每種方法上,所以當我創建一些東西時,它會創建兩條記錄,當我刪除一些東西時,第一個將被成功刪除,而第二個不需要的請求失?。ㄒ驗樗呀洷粍h除)。我的第一個想法是 axios 發送了兩個請求,其中一個是OPTIONS方法,我做了一些谷歌研究,它無法關閉以及其他一些處理它的方法,仍然沒有。
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

當您使用 CORS 時,瀏覽器可能需要在OPTIONS請求之前發送GET請求。(如果是這樣,它會在您發出GETwith XMLHttpRequestfetch/etc 時自動執行。)您需要區分OPTIONS請求和GET服務器端的請求,并且僅在您獲得 時才實際執行工作GET,而不是在您獲得OPTIONS之前.


旁注:Access-Control-Allow-Origin是一個響應頭。您不應該告訴通過請求axios發送它(這樣做不會做任何事情)。更多關于這里...


查看完整回答
反對 回復 2022-07-22
  • 1 回答
  • 0 關注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號