1. 程式人生 > >vue-cli解決跨域問題以及vue axios元件post傳參

vue-cli解決跨域問題以及vue axios元件post傳參

1. Vue 框架開發的時候,會遇到跨域的問題,可在config/index.js 裡配置proxyTable內容,使用proxy 代理

 dev: {
  proxyTable: {
      '/api': {
        target: 'http://109.2.3.64:9091', //設定你呼叫的url和埠號
        changeOrigin: true,  //跨域
        secure: false,
        pathRewrite: {
          '^/api': ''   //用/api替換target中的地址
        }
      }
    }
 }

在dev.env.js中新增

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  API: '"/api"'
})

2.傳送請求

2. 1新增 axios元件
import axios from 'axios'
import Vue from "vue";
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
Vue.prototype.$ajax = axios;
2.2get請求
testGet: function () {
  this.$ajax({
    method: 'get',
    url: '/api/mem/point/info',
    params: {
      firstName: 'Fred',
      lastName: 'Flintstone'
    }
  }).then(function (response) {
    console.log(response);
  }).catch(function (error) {
    console.log(error);
  });
},

2.3 post請求
1.

editItem:function(){
     var params = new URLSearchParams();
        params.append('memId','12121');
        params.append('saGuid','1333');
     axios.post(`/api/point/info`,params)
     .then(function(res){
         alert(res);
     })
  }
testPost: function () {
        var params = new URLSearchParams();
        params.append('name', 'hello jdmc你好');
        params.append('id', '2');
        this.$ajax({
          method: 'post',
           url: '/api/mem/point/info',
          data:params
//          data: {id: '3', name: 'abc'}
        }).then(function (response) {
          console.log(response);
        }).catch(function (error) {
          console.log(error);
        })
      }
2.4注意

在使用post方式的時候傳遞引數有兩種方式,一種是普通方式,一種是json方式,如果後臺接受的是普通方式,那麼使用上述方式即可。

普通的formed方式

var params = new URLSearchParams();
params.append('name', 'hello');
params.append('id', '2');

data:params

後臺接收引數

public Student greeting2(int id,String name) {

json方式

data: {id: '3', name: 'abc'}

後臺接收引數

public Object greeting2(@RequestBody Object student) {

相關推薦

vue-cli解決問題以及vue axios元件post

1. Vue 框架開發的時候,會遇到跨域的問題,可在config/index.js 裡配置proxyTable內容,使用proxy 代理 dev: { proxyTable: { '/api': { target: 'http

vue-cli解決問題

1:後端解決 設定Access-Control-Allow-Origin   為* php:    header('Access-Control-Allow-Origin:*');//允許所以域名訪問 .net :   <httpProtocol>

關於Vue-cli解決

tar bsp es2017 dex 前綴 成功 config 端口 log 由於Vue-cli服務器是跑在node環境下的8080端口,我們的php代碼可能在Apache環境下的7070端口,這個時候就會出現跨域 此刻這段php代碼在7070端口上 如果直接去訪問

axios踩坑記錄+攔截器使用+vue cli代理proxy

dex ios文檔 exports 地址 必須 主頁 mon 空白 space 1、小小的提一下vue cli腳手架前端調後端數據接口時候的本地代理跨域問題,如我在本地localhost訪問接口http://40.00.100.100:3002/是要跨域的,相當於瀏覽器設置

深度採坑指南之vue-cli代理proxy解決限制

由於我是用vue-cli建立的專案,訪問介面純在跨域問題,本地伺服器的預設地址為http://localhost:8080/,伺服器端的域名不是這個,就會造成跨域訪問,axios不支援jsonp,所以我們可以利用http-proxy-middleware中介軟體做代理。 使用axios直

vue解決問題

.json plugin plugins nco pos pat class 上線 created 方法1.後臺更改header header(‘Access-Control-Allow-Origin:*‘);//允許所有來源訪問 header(‘Access-C

vue.js vue-jsonp解決問題

color 數據 ons vue.js err all this spa HA 安裝jsonp npm install vue-jsonp --save main.js中引入 import VueJsonp from ‘vue-jsonp‘ Vue.use(VueJs

解決造成Vue-element每次請求sessionID不同問題

vue-element作為前端開發框架, 前後端分離專案ajax跨域, 每次http請求後sessionId均會發生變化,導致獲取session失敗, 只需要在檔案vue-element-admin-master-1\src\utils\request.js中新增如下程式碼即可: wit

vue-resource 解決問題

vue-resource 解決跨域問題 在對專案進行打包之後,我把資料也放到了我的網站上,然後使用vue-resource 請求資料,這裡就出現了“No ‘Access-Control-Allow-Origin’ header is present on the requested re

vue中設定,使用axios請求

在vue的時間開發過程中遇到比較頭疼的事情之一,就是在本地與非本地環境中的介面進行聯調。最常遇見的就是跨域問題,一把的解決方法有三種: 1. 後臺更改header(注:這是後臺的事,我們做不了) 2. 使用JQuery提供的jsonp  (注:只為了使用js

20181216——Vue解決

沒想到自己還是遇到這個問題了。 不算後臺的解決方案,單算前端如何解決跨域 用http-proxy-middleware 代理解決(專案使用vue-cli腳手架搭建) 例如請求的url:“http://f.apiplus.cn/bj11x5.json” 1、開啟config/index.js,

vue+springboot解決

跨域請求:顧名思義客戶端請求不一樣的域名會出現跨域失敗; 解決辦法: 第一:前端解決 點選參考 一:index.js下配置 proxyTable: { '/': { target: 'http://localhost:80

webpack中vue-cli開發的問題

在使用webpack做開發除錯的時候,因為需要使用nodejs伺服器作為前端頁面的伺服器。如果後端使用的是Java(比如後臺是Java程式碼部署在Tomcat伺服器上),那前端頁面傳送http請求、儲存cookie等都會存在跨域請求不了或者儲存不了的問題

搞懂:前端問題JS解決問題VUE代理解決問題原理

## 什麼是跨域 *跨域*:`一個域下的文件或指令碼試圖去請求另一個域下的資源` *廣義的跨域包含一下內容*: 1.資源跳轉(連結跳轉,重定向跳轉,表單提交) 2.資源請求(內部的引用,指令碼script,圖片img,frame) 3.script內部發起的請求(ajax,

vue2.0父子元件以及非父子元件通訊詳解

1.父元件傳遞資料給子元件 父元件資料如何傳遞給子元件呢?可以通過props屬性來實現 父元件: <parent> <child :child-msg="msg"></child>//這裡必須要用 - 代替駝峰 </p

axiospost,後端無法獲取引數問題

最近用vue+nodejs寫專案,前端使用axios向後臺傳參,發現後臺接收不到引數。 後臺是node+express框架,然後使用了body-parser包接收引數,配置如下: const express = require('express') const bodyParser = require('

vue axios的使用以及解決問題

安裝axios(前提是已經安裝了vue) npm install axios --save 使用axios 1. 先在main.js中呼叫 import axios from 'axios' axios.defaults.baseURL = "http://www.xxx.com"

vue開發:vue-cli+axios解決問題

1、首先axios不支援vue.use()方式宣告使用,看了所有近乎相同的axios文件都沒有提到這一點  建議方式 在main.js中如下宣告使用 import axios from 'axios'; Vue.prototype.$axios=axios; 那麼在其他v

Vue使用Axios實現http請求以及解決問題

Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。Axios的中文文件以及github地址如下: 一、安裝Axios外掛 npm install axios --save 二、在main.js中引入Axios庫

vue-cli+axios解決問題

1、首先axios不支援vue.use()方式宣告使用,看了所有近乎相同的axios文件都沒有提到這一點 建議方式 在main.js中如下宣告使用 import axios from ‘axios’; Vue.prototype.axios=axios