vue$http 의 get 과 post 크로스 도 메 인 문제 해결 요청

3091 단어 전단 기술
우선 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("     ");
             });
             }
      }

주의해 야 할 것 은:
  • {emulateJSON:true}을 설정 해 야 합 니 다.그렇지 않 으 면 도 메 인 을 뛰 어 넘 는 데 성공 하지 못 합 니 다
  • 크로스 도 메 인 은 chrome 브 라 우 저 에서 보 았 습 니까?http://localhost:8080(즉,서버 가 사용 하 는 주소 가 아 닌 vue 주 소 를 시작 합 니 다)그 러 니 놀 라 지 마 세 요.사실은 도 메 인 을 뛰 어 넘 는 데 성 공 했 습 니 다
  • http 요청 에/api 를 가 져 가 야 합 니 다.index.js 의 대 리 를 통 해/api 를 제거 합 니 다.브 라 우 저의 방문 주 소 는?http://localhost:8080/api/amdatashift/login/user그리고 실제 방문 주 소 는?http://localhost:9080/amdatashift/login/user。대 리 를 통 해 크로스 도 메 인 접근 을 실현 하 였 습 니 다
  • 좋은 웹페이지 즐겨찾기