1.畢設使用的是react+java開發的網上書城,大家都知道react主要是視圖(表現層或頁面),數據的處理還是通過java來實現的,所以我的畢設相當於是兩個項目組成的,一個是前端項目,一個是后台項目,在react中我是用的是fetch來實現數據的異步請求,下面展示用戶注冊的代碼:
fetch('http://localhost:8080/ssm/userController/register', { method: 'POST', headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: 'uname=' + uname + '&ubirth=' + ubirth + '&usex=' + usex + '&uaddress=' + uaddress + '&uaccount=' + account + '&upassword=' + password }) .then(function (response) { return response.json(); }) .then(function (data) { if (data[0]['code'] == '-1') { message.info('該手機號已經被注冊'); } else { hashHistory.push("/login"); } }) .catch(function (err) { //console.log(err); })
上面的 http://localhost:8080/ssm/userController/register 是一個url,這個地址是后台的一個action,我們在前端的服務器中要請求Tomcat中的這個action,這就是跨域請求,實現跨域請求的第一步是后台代碼要允許跨域,這里我們最簡單的方法是使用springMVC的注解 @CrossOrigin(origins = "*", maxAge = 3600) ,這里要強調的是springMVC的版本要在4.2或以上版本才支持@CrossOrigin,我這里的設置是允許所有跨域訪問,也可以單獨指定允許的服務器跨域(設置origin的值便可)。