1,關於OPTIONS的問題,一個方法的nginx的代理的報頭問題,放行選項
if($ request_method ='OPTIONS'){
add_header'Access-Control-Allow-Origin''*';
add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header'Access-Control-Max-Age'1728000;
add_header'Content-Type''text / plain charset = UTF-8';
add_header'Content-Length'0;
返回204;
}
if($ request_method ='POST'){
add_header'
add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
if($ request_method ='GET'){
add_header'Access-Control-Allow-Origin''*';
add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS';
add_header'Access-Control-Allow-Headers''DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
2.關於本地項目嚴重報錯運行問題
必須一定一定不要帶中文;
必須項目不要隨意變換文件夾名稱和位置
必須罐包和引用的DLL不能隨意更換,必須是固定的,且不能有中文存在
本地環境的搭配問題,nginx的,memcached的,碼頭的配置和啓動問題
3.小問題
Idea啓動項目報錯:命令行太長。縮短className的命令行或縮短JUnit的默認配置。
解決方法:
在該項目文件夾.idea / workspace.xml中找到
<component name =“PropertiesComponent”>
</組分>
然後在其中添加:
<property name =“dynamic.classpath”value =“true”/>
或者修改C:\ Users \ xiaobao \ .IntelliJIdea2017.1 \ config \ options \ project.default.xml增加上述配置
執行運行,成功了
4.前臺是vue,vue解決跨域問題,代理
運行
5.後臺運行報錯了
判斷:沒有開啓的memcached
開啓
6.新錯誤,服務器訪問報500
7.重新啓動後臺碼頭項目,檢查後臺的配置文件
8.關於VUE中請求代理
webpack + vue-cil中proxyTable配置接口地址代理
在項目開發的時候,接口聯調的時候一般都是同域名下,且不存在跨域的情況下進行接口聯調,但是當我們現在使用VUE-CLI進行項目打包的時候,我們在本地啓動服務器後,比如本地開發服務下是http:// localhost:8080這樣的訪問頁面,但是我們的接口地址是http://xxxx.com/save/index這樣的接口地址,我們這樣直接使用會存在跨域的請求,導致接口請求不成功,因此我們需要在打包的時候配置一下,我們進入config / index.js代碼下如下配置即可:
dev: {
// 靜態資源文件夾
assetsSubDirectory: 'static',
// 發佈路徑
assetsPublicPath: '/',
// 代理配置表,在這裏可以配置特定的請求代理到對應的API接口
// 例如將'localhost:8080/api/xxx'代理到'www.example.com/api/xxx'
// 使用方法:https://vuejs-templates.github.io/webpack/proxy.html
proxyTable: {
'/api': {
target: 'http://xxxxxx.com', // 接口的域名
// secure: false, // 如果是https接口,需要配置這個參數
changeOrigin: true, // 如果接口跨域,需要進行這個參數配置
pathRewrite: {
'^/api': ''
}
}
},
// 本地訪問 http://localhost:8080
host: 'localhost', // can be overwritten by process.env.HOST
接口地址原本是/ save / index,但是爲了匹配代理地址,在前面加一個/ api,因此接口地址需要寫成這樣的即可生效/ api / save / index。
注意:'/ api'爲匹配項,target爲被請求的地址,因爲在ajax的url中加了前綴'/ api',而原本的接口是沒有這個前綴的,所以需要通過pathRewrite來重寫地址,將前綴'/ api'轉爲'/'。如果本身的接口地址就有'/ api'這種通用前綴,就可以把pathRewrite刪掉。
9.問題沒有解決,還是報500
設置下UTF-8的格式
問題一:
文件 - >設置 - >編輯器 - >文件編碼
問題二:
文件 - >其他設置 - >默認設置 - >編輯器 - >文件編碼
問題三:
將項目中的.idea文件夾中的encodings.xml文件中的編碼格式改爲UFT-8
問題四:
文件 - >設置 - >構建,執行,部署 - >編譯器 - > Java編譯器
設置附加命令行參數選項爲-encoding utf-8
問題五:
1)打開運行/調試配置,選擇你的tomcat
2)然後在服務器> VM選項設置爲-Dfile.encoding = UTF-8,重啓tomcat
問題六:
清空瀏覽器緩存再試一次。
10.後臺導缺失的jar包
11.問題解決,刪除代碼時不小心隱藏掉了編碼格式,找到備份後重新覆蓋了現在的,前後臺可以跑通了。
總結:
一定一定不要用中文
一定一定一定要用UTF-8統一前後臺傳參
一定一定記得跨域的根本問題點,放行and代理
一定一定記得header的問題,token的問題
要什麼,給什麼,找準關鍵點,
一定一定要多備份,備份,備份,再備份,各種備份
一定一定不要沒事整理文件,
就算整理,一定一定要把jar包和環境恢復成原來的。
服務器地址,本地地址,測試地址一定一定要標註清楚
註釋,註釋,註釋,一定要見名知意。
以上是踩過的坑,坑,坑的記錄,歡迎各種採坑的交流。