AJAX STATUS=0

使用AJAX請求JAVA服務器,發現status=0,於是百度了下,是由於跨域引起的。

JAVA服務端解決代碼如下:

public class CharacterEncodingFilter implements Filter {

	private String encoding;

	@Override
	public void destroy() {
		this.encoding = null;
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		// 設置編碼
		arg0.setCharacterEncoding(encoding);

		// 解決前端請求跨域問題!
		HttpServletResponse httpResponse = (HttpServletResponse) arg1;
		httpResponse.setHeader("Access-Control-Allow-Origin", "*");
		httpResponse.setHeader("Access-Control-Allow-Methods",
				"POST, GET, OPTIONS, DELETE");
		httpResponse.setHeader("Access-Control-Max-Age", "3600");
		httpResponse.setHeader("Access-Control-Allow-Headers",
				"Origin,X-Requested-With,Content-Type, Accept, Authorization");
		httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
		arg2.doFilter(arg0, httpResponse);

	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		this.encoding = arg0.getInitParameter("encoding");
	}

}

發佈了77 篇原創文章 · 獲贊 51 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章