이제 Vue 프로젝트에서 크로스 도메인 처리를 위해 Axios를 사용하는 방법에 대한 기사를 공유하겠습니다. 이는 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.
크로스 도메인은 매우 당황스러운 문제입니다. 어떤 사람들은 백그라운드에서 요청 헤더를 설정할 수 있지만 많은 프런트 엔드는 백그라운드에 대한 지식이 없고 독립적으로 서버를 구축할 수 없기 때문에 당황스럽습니다. 물론 크로스 도메인 문제를 해결할 수 있는 가상 서버가 많이 있는데, 그 본질은 크로스 도메인 문제를 완곡하게 해결하기 위해 백그라운드를 통해 백엔드와 통신하는 것이므로 vue-cli에도 있습니다. 크로스 도메인 문제를 해결하는 능력
물론 Ajax를 직접 보내서 성공하는 것은 불가능합니다. 그렇죠. 구성 파일을 수정해야 합니다코드:
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: false,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/gp': {
target: 'http://we7.qw1000.cn/',
changeOrigin: true,
pathRewrite: {
'^/gp': '/'
}
}
}
}
dev는 당연히 가상 서버를 의미합니다.
autoOpenBrowser
는 단지 브라우저를 자동으로 열 수 있는지 여부를 구성하는 것뿐입니다. 핵심은
proxyTable: { '/gp': { target: 'http://we7.qw1000.cn/', changeOrigin: true, pathRewrite: { '^/gp': '/' } }
이 개체를 구성한다는 것입니다. 물론, 이것은 webpack의 기능이므로 개발 환경에서만 사용할 수 있습니다. 게시물을 예로 들어보겠습니다.
methods: {
hello: function(e) {
var str;
console.log(e.target.files[0]);
var _this = this;
var that = new FormData();
that.append("myfile", e.target.files[0]);
this.$http.post('gp/app/index.php?i=2&c=entry&do=tool/image&m=qw_deal', that)
.then(function(sures) { console.log(sures);
console.log("上产成功") })
.catch(function(catchres) { console.log(catchres);
console.log("上传失败") })
}
},
이게 도대체 뭐죠.$http? ? ?
이것은 당연히 main.js에 axios를 도입한 결과이지만 vue의 플러그인이 아니기 때문에 use 메소드를 직접 사용할 수 없으므로 프로토타입 체인에 로드해야 합니다import axios from 'axios';
Vue.prototype.$http = axios;
이런 식으로 우리는 그것을 직접 사용할 수 있습니다.
이것은 내 친구의 링크이고 업로드된 이미지 파일에 대한 링크를 선택했습니다
참고:1. webpack 이 방법은 개발 환경에서만 사용하기에 적합합니다. 2. inde.js 내부에서 dev를 설정할 때 설정해야 할 도메인 이름이 너무 많으면 주의하세요. 유효하지 않으므로 www여야 합니다. 바이두. com
3. axios를 사용하여 파일을 업로드하세요. 위의 내용이 앞으로 모든 사람에게 도움이 되기를 바랍니다. 관련 기사:Axios 기반에서 일반적으로 사용되는 요청 메서드 별칭(자세한 설명)
Vuex를 사용하여 노트 애플리케이션을 구현하는 방법
vue2.0 상태에 따라 스타일과 표시를 변경하는 방법 가치
위 내용은 vue 프로젝트에서는 도메인 간 처리를 위해 axios를 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!