vue$http 의 get 과 post 요청 크로스 도 메 인 문제 해결
우선 config/index.js 에 proxy Table 을 설정 합 니 다.
proxyTable: {
'/api':{
// target:'http://jsonplaceholder.typicode.com',
target:'http://localhost:9080',
changeOrigin:true,
pathRewrite:{
'/api':''
}
}
사용자 이름과 비밀번호 로 로그 인 한 폼 제출
methods: {
// get
// submitForm() {
// var formData=JSON.stringify(this.ruleForm);
// this.$http.get('/api/amdatashift/login/probe').then(function(data){
// }).catch(function(){
// console.log(" ");
// });
// }
//post
submitForm() {
var formData=JSON.stringify(this.ruleForm);
this.$http.post('/api/amdatashift/login/user',{
username:this.ruleForm.username,
password:this.ruleForm.password
},{
emulateJSON:true
}).then(function(data){
console.log(data);
}).catch(function(){
console.log(" ");
});
}
}
주의해 야 할 것 은:1.{emulateJSON:true}을 설정 해 야 합 니 다.그렇지 않 으 면 도 메 인 을 넘 지 못 합 니 다.
2.크로스 도 메 인 은 chrome 브 라 우 저 에서 보 았 습 니까?http://localhost:8080(즉,서버 가 사용 하 는 주소 가 아 닌 vue 주 소 를 시작 하 는 것 입 니 다.)그 러 니 놀 라 지 마 세 요.사실은 도 메 인 을 뛰 어 넘 는 데 성 공 했 습 니 다.
3.http 요청 에/api 를 가 져 가 야 합 니 다.index.js 프 록 시 를 통 해/api 를 제거 합 니 다.브 라 우 저의 방문 주 소 는?http://localhost:8080/api/amdatashift/login/user그리고 실제 방문 주 소 는?http://localhost:9080/amdatashift/login/user。대 리 를 통 해 크로스 도 메 인 접근 을 실현 하 였 습 니 다.
vue el-uproad 업로드 컨트롤 은 도 메 인 문제 post 요청 이 get 요청 으로 바 뀌 었 습 니 다.
최근 vue 에 올 라 온 것 은 elmentui 의 el-uproad 컨트롤 을 사용 한 것 으로,결과적으로 줄곧 나방 이 나 왔 으 니,여러분 들 은 구 덩이 를 적 게 걷 기 를 바 랍 니 다.
캡 처 코드 는 커 녕
1。컨트롤 옮 기기 액 션 주소 바 꾸 기
설정 이 완료 되면 직접 테스트 합 니 다.emmm.......................................................
크로스 도 메 인 문 제 를 제 시 했 습 니 다.이것 은 제 가 본 컴퓨터 개발 전단 서비스 와 백 엔 드 서비스 포트 가 다 르 기 때문에 이해 할 수 있 습 니 다.
자 료 를 찾 고 vue 크로스 도 메 인 문제 해결 방안 을 말 한 다음 에 대 리 를 엽 니 다.
vue 프로젝트 의 config 에 있 는 index.js 파일 을 찾 아 그림 과 같은 것 을 추가 합 니 다.change Origin 은 true 입 니 다.대체http://192.158.111.101:8000。예:원래 주소http://localhost:8000/ssmShow/upload'현재 주소'/api/ssmsmShow/upload'.
그래서 업로드 컨트롤 은:
테스트emmmm。。。또 틀 렸 어.
도 메 인 을 잘못 보고 하고 두 번 이나 요 구 했 습 니 다.그리고 요청 에 문제 가 있 습 니 다.
파일 업 로드 는 post 요청 일 것 입 니 다.결국 이 get 에서 options 요청 을 했 습 니 다.어리석다.302 의 상 태 는 바 뀌 지 않 을 것 이다.먼저 뒤에 있 는 500 의 잘못 을 보고 해라.
options 의 요청 은 인터넷 에 그의 설명 과 처리 방법 이 있 습 니 다.
필터 추가.
동시에 웹.xml 는 다음 과 같이 추가 해 야 합 니 다.
변경 후 자바 백 스테이지 다시 시작,emmm 테스트...다음 과 같다.
이번 에는 세 번 의 인 터 페 이 스 를 호출 했다.내 가 갈 게.그러나 좋 은 상황 은 options 요청 이 올 바 르 게 되 돌 아 왔 습 니 다.options 요청 이 올 바 르 기 때문에 세 번 째 요청 을 했 습 니 다.
세 번 째 부탁 을 자세히 보 니 get 요청 이 군요.첨부 파일 업로드 가 왜 get 요청 이 야?
인터넷 에서 오랫동안 찾 았 는데,모두 가 말 하 는 엘-uproad 라 는 컨트롤 에 문제 가 있다.action 을 사용 할 수 없습니다.그래서 인터넷 방법 에 따라 action 에 가짜 주 소 를 추가 하고 컨트롤 의 before-uproad 갈고리 함수 에 직접 손 을 댔 습 니 다.
직접 이 안에 axios 의 post 요청 으로 파일 을 제출 합 니 다.
계속 테스트
세 번 째 업로드 요청 은 get 요청 입 니 다.문제 가 있 습 니 다.el-uproad 의 action 에 문제 가 있 으 면 post 요청 을 직접 호출 하면 get 요청 이 됩 니 다.그리고 한참 찾 았 습 니 다.한 형의 주 의 를 받 아 알 았 다.
js 나 vue 에서 오류 가 발생 하면 post 요청 이 get 요청 으로 변 할 수 있 습 니 다.그리고 제 잘못 을 찾 았 습 니 다.그게 제 주소 입 니 다.
너 는 화가 나 지 않 는 다 고 말 했 는데,뜻밖에도 이곳 에 평행봉 이 없어 졌 을 뿐 이 고,게다가 후 테스트 까지 하 다 니.
다 나 았 습 니 다.요청 은 하나 뿐 입 니 다.post 입 니까?post 입 니까?파일 도 올 렸 습 니까?힘 들 었 지만 즐 거 웠 습 니 다.
내 그림 에 표 시 된 주 소 를 주의 하 세 요.이 안의 포트 는 8080 이 고 api 문자 도 있 습 니 다.이것 은 나의 배경 진정한 주소 가 아 닙 니 다.이것 은 대리 주소 입 니 다.그 는 대 리 를 통 해 나의 실제 주 소 를 방문 할 수 있 습 니 다.그래서 형 들 은 포트 가 틀 리 거나 주소 경로 가 틀 리 면 잘못 되 었 다 고 생각 하지 마 세 요.이것 은 옳 은 것 입 니 다.
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.