溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)于http請(qǐng)求在ie中F12查看顯示已掛起,反應(yīng)時(shí)間緩慢的問(wèn)題

發(fā)布時(shí)間:2020-06-24 20:00:18 來(lái)源:網(wǎng)絡(luò) 閱讀:16131 作者:butcher36 欄目:開(kāi)發(fā)技術(shù)

在系統(tǒng)維護(hù)開(kāi)發(fā)中,遇見(jiàn)一個(gè)問(wèn)題,就是某個(gè)功能處理很慢,慢到什么程度,批量審批十條工單信息,耗時(shí)大概是15+min,這個(gè)是絕對(duì)不能忍受的問(wèn)題,看功能邏輯和代碼邏輯,沒(méi)有任何問(wèn)題,可能代碼處理不是很高效,但是也不能如此的緩慢。。。

在ie11中,f12查看,捕獲網(wǎng)絡(luò),查看請(qǐng)求耗時(shí),發(fā)現(xiàn)主要請(qǐng)求都在請(qǐng)求action上,ie11在f12狀態(tài),直接顯示已掛起,之后進(jìn)行百度解疑,才發(fā)現(xiàn)可能是請(qǐng)求方式的問(wèn)題。

瀏覽器的確是發(fā)送了post請(qǐng)求,但是該請(qǐng)求“結(jié)果”欄顯示的是“已終止”,“發(fā)起程序”值 是“已掛起”。請(qǐng)求頭、請(qǐng)求體、響應(yīng)頭、響應(yīng)體都是空的。也就說(shuō)瀏覽器發(fā)送了1個(gè)異常的請(qǐng)求。

后臺(tái)的action也收到了post的請(qǐng)求,但是沒(méi)有獲取到請(qǐng)求參數(shù)的值。

個(gè)人感覺(jué),可能是頁(yè)面請(qǐng)求在拼post的請(qǐng)求體時(shí),會(huì)相對(duì)比較耗時(shí),還沒(méi)有執(zhí)行完畢。此時(shí)頁(yè)面關(guān)閉,JS終止了執(zhí)行,瀏覽器發(fā)送了1個(gè)不完全的HTTP請(qǐng)求(沒(méi)有附上請(qǐng)求體)?;谶@個(gè)結(jié)論,我們將POST請(qǐng)求,改成Get請(qǐng)求,服務(wù)端能夠收到請(qǐng)求的參數(shù)值了,時(shí)間也很快,十條單子批量審核,大概不到20s,這就算是正常反應(yīng)了。


因?yàn)榘粹o觸發(fā)的是js事件,在你點(diǎn)擊按鈕,觸發(fā)js方法的時(shí)候,他去拼參數(shù),如果是post請(qǐng)求,他js觸發(fā)之后,需要把請(qǐng)求參數(shù)放在包體中,但是js請(qǐng)求之后,已經(jīng)沒(méi)有jsp容許你去放包體參數(shù),所以參數(shù)可能丟失或者不全,這樣action接收不到正常請(qǐng)求參數(shù),前臺(tái)掛起。修改為get請(qǐng)求之后,拼接的參數(shù)是放在url之后,這樣action是肯定可以收到請(qǐng)求參數(shù)的,這樣后臺(tái)有響應(yīng),前臺(tái)自然不會(huì)掛起。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI