鍍金池/ 問(wèn)答/Java  HTML/ 使用ajax加載數(shù)據(jù)時(shí)302

使用ajax加載數(shù)據(jù)時(shí)302

問(wèn)題描述

今天在項(xiàng)目上遇到的一個(gè)問(wèn)題,一個(gè)tomcat中運(yùn)行多個(gè)項(xiàng)目(portal/oa/partform),然后分別從這些項(xiàng)目的接口中加載數(shù)據(jù),首先調(diào)用portal/index進(jìn)入頁(yè)面,然后再分別調(diào)用portal/oa/partfrom下的接口請(qǐng)求數(shù)據(jù)(ajax->get),其中portal接口下返回200,其他的幾個(gè)返回302;

clipboard.png

圖片描述

上面這種情況只會(huì)出現(xiàn)在頁(yè)面第一次加載的時(shí)候(瀏覽器清除緩存的時(shí)候),當(dāng)頁(yè)面加載過(guò)(瀏覽器有緩存時(shí))刷新頁(yè)面就沒(méi)有問(wèn)題;

回答
編輯回答
局外人

清除緩存之后,要重新登錄啊。強(qiáng)制跳轉(zhuǎn)到登錄頁(yè)面去。

302是重定向。一般會(huì)在ajax中返回重定向后的地址Location,

var location = xhr.getResponseHeader('Location');

然后拿location作為新地址重新發(fā)起ajax請(qǐng)求。參考:
ajax異步請(qǐng)求302

2017年1月31日 01:06
編輯回答
離觴

看截圖似乎是因?yàn)闆](méi)有認(rèn)證導(dǎo)致的重定向。一般來(lái)說(shuō),很多應(yīng)用都需要登錄才能查詢頁(yè)面或調(diào)用接口的,看看是不是這個(gè)原因。

2018年5月6日 08:25