所以我想使用 axios 從前端向 Laravel 發(fā)送請(qǐng)求,它是跨源的,所以前端在localhost:3000,后端在localhost:8000/api,在 Laravel 中,我已經(jīng)應(yīng)用了 CORS中間件。在 axios 我已經(jīng)設(shè)置了標(biāo)題。axios 設(shè)置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 發(fā)布和刪除: 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) }) }) }}我如何調(diào)用函數(shù): 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...////這發(fā)生在每種方法上,所以當(dāng)我創(chuàng)建一些東西時(shí),它會(huì)創(chuàng)建兩條記錄,當(dāng)我刪除一些東西時(shí),第一個(gè)將被成功刪除,而第二個(gè)不需要的請(qǐng)求失?。ㄒ?yàn)樗呀?jīng)被刪除)。我的第一個(gè)想法是 axios 發(fā)送了兩個(gè)請(qǐng)求,其中一個(gè)是OPTIONS方法,我做了一些谷歌研究,它無法關(guān)閉以及其他一些處理它的方法,仍然沒有。
1 回答

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
當(dāng)您使用 CORS 時(shí),瀏覽器可能需要在OPTIONS
請(qǐng)求之前發(fā)送GET
請(qǐng)求。(如果是這樣,它會(huì)在您發(fā)出GET
with XMLHttpRequest
/ fetch
/etc 時(shí)自動(dòng)執(zhí)行。)您需要區(qū)分OPTIONS
請(qǐng)求和GET
服務(wù)器端的請(qǐng)求,并且僅在您獲得 時(shí)才實(shí)際執(zhí)行工作GET
,而不是在您獲得OPTIONS
之前.
旁注:Access-Control-Allow-Origin
是一個(gè)響應(yīng)頭。您不應(yīng)該告訴通過請(qǐng)求axios
發(fā)送它(這樣做不會(huì)做任何事情)。更多關(guān)于這里...
- 1 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報(bào)
0/150
提交
取消