關於ajax跨域post提交常見錯誤

2021-08-19 09:51:31 字數 1262 閱讀 6572

1,問題出現

在前台頁面使用ajax跨域非同步請求時,瀏覽器console出現

"access-control-allow-origin"設定不被允許的提示

2,解決方法

(1)首先確定是ajax跨域問題,我們採用filter方式處理,編寫過濾器systemfilter.class ;

public class 

systemfilter

implements

filter

@override

public void

dofilter(servletrequest req, servletresponse res, filterchain chain)

throws ioexception, servletexception

if (stringutils.isnotempty(allowcredentials))

if (stringutils.isnotempty(allowheaders))

if (stringutils.isnotempty(exposeheaders))

chain.dofilter(request, response);

} @override

public void

destroy()

}

(2)然後在web.xml裡新增過濾器;

systemfilter

com.ittest.secrity.systemfilter

allowmethods

get,post,put,delete,options

allowcredentials

true

allowheaders

origin,x-requested-with,content-type,accept

systemfilter

/*

(3)其次前台頁面ajax處理以及快速獲取表達資料;

jquery3.3.1版本,ajax的js部分

頁面表單資訊;

(5)ajax請求的controller;

,@responsebody

public response ajax(@requestbody string data)

response為返回的vo實體類

使用CORS進行AJAX跨域POST提交

cors的全稱是cross origin resource sharing。是用來解決瀏覽器的跨域問題的。是html5的一部分。cors主要是在伺服器端進行配置。官方 是 cors支援各類web伺服器,我這裡用的是tomcat。只需在web.xml中加入cors的過濾器就可以使tomcat伺服器支援...

關於Ajax跨域提交時session丟失的問題

今天在工作中遇到了乙個問題,就是當使用ajax和jsonp進行跨域時,每一伺服器都會在cookie裡set乙個新的sessionid,會將原有的sessionid覆蓋,也就是說客戶端對於伺服器來說始終處於未登入狀態,我使用谷歌瀏覽器是沒有問題的,但是ie有問題,在ie出問題的原因是瀏覽器中的cook...

Ajax的Post跨域請求

同協議,同ip,同埠視為乙個域,兩個域之間互相訪問就是跨域訪問請求。根據瀏覽器的同源策略,乙個域中的指令碼只具有訪問本域資源的許可權,無法訪問其他域的資源。如果域中的ajax直接訪問另乙個域的資源就會有問題,這就是我們說的js跨域請求問題 跨域請求域有兩種常用解決方案,jsonp和cors,因為js...