日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue打开后端html文件,vue中怎么请求后端数据?

發布時間:2024/9/19 vue 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue打开后端html文件,vue中怎么请求后端数据? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vue中怎么請求后端數據?下面本篇文章給大家介紹一下vue 請求后臺數據。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

vue 請求后臺數據

需要引用vue-resource

安裝請參考https://github.com/pagekit/vue-resource官方文檔

在入口函數中加入import VueResource from 'vue-resource'

Vue.use(VueResource);

在package.json文件中加入"dependencies": {

"vue": "^2.2.6",

"vue-resource":"^1.2.1"

},

請求如下mounted: function () {

// GET /someUrl

this.$http.get('http://localhost:8088/test').then(response => {

console.log(response.data);

// get body data

// this.someData = response.body;

}, response => {

console.log("error");

});

},

注意

1.在請求接口數據時,涉及到跨域請求

出現下面錯誤:XMLHttpRequest cannot load http://localhost:8088/test. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.

解決辦法:在接口中設置response.setHeader("Access-Control-Allow-Origin", "*");

2.使用jsonp請求

但是出現如下錯誤Uncaught SyntaxError: Unexpected token

查看請求,數據已返回,未解決.

提交表單

姓名:

v-model="user.username">

密碼:

v-model="user.password">

value="提交">

methods: {

submit: function() {

var formData = JSON.stringify(this.user); // 這里才是你的表單數據

this.$http.post('http://localhost:8088/post', formData).then((response) => {

// success callback

console.log(response.data);

}, (response) => {

console.log("error");

// error callback

});

}

},

提交restful接口出現跨域請求的問題

查閱資料得知,

當contentType設置為三個常用的格式以外的格式,如“application/json”時,會先發送一個試探的OPTIONS類型的請求給服務端。在這時,單純的在業務接口response添加Access-Control-Allow-Origin 由于還沒有走到所以不會起作用。

解決方案:

在服務端增加一個攔截器

用于處理所有請求并加上允許跨域的頭public class CommonInterceptor implements HandlerInterceptor {

private List excludedUrls;

public List getExcludedUrls() {

return excludedUrls;

}

public void setExcludedUrls(List excludedUrls) {

this.excludedUrls = excludedUrls;

}

/**

*

* 在業務處理器處理請求之前被調用 如果返回false

* 從當前的攔截器往回執行所有攔截器的afterCompletion(),

* 再退出攔截器鏈, 如果返回true 執行下一個攔截器,

* 直到所有的攔截器都執行完畢 再執行被攔截的Controller

* 然后進入攔截器鏈,

* 從最后一個攔截器往回執行所有的postHandle()

* 接著再從最后一個攔截器往回執行所有的afterCompletion()

*

* @param request

*

* @param response

*/

public boolean preHandle(HttpServletRequest request, HttpServletResponse response,

Object handler) throws Exception {

response.setHeader("Access-Control-Allow-Origin", "*");

response.setHeader("Access-Control-Allow-Methods", "*");

response.setHeader("Access-Control-Max-Age", "3600");

response.setHeader("Access-Control-Allow-Headers",

"Origin, X-Requested-With, Content-Type, Accept");

return true;

}

// 在業務處理器處理請求執行完成后,生成視圖之前執行的動作

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

}

/**

*

* 在DispatcherServlet完全處理完請求后被調用

* 當有攔截器拋出異常時,

* 會從當前攔截器往回執行所有的攔截器的afterCompletion()

*

* @param request

*

* @param response

*

* @param handler

*

*/

public void afterCompletion(HttpServletRequest request, HttpServletResponse response,

Object handler, Exception ex) throws Exception {

}

}

spring resultful無法像在jsp提交表單一樣處理數據必須加上@RequestBody,可以直接json轉換object,但是對與沒有bean的表單數據,建議轉換為map對象,類似@RequestBody Map

更多web前端知識,請查閱 HTML中文網 !!

總結

以上是生活随笔為你收集整理的vue打开后端html文件,vue中怎么请求后端数据?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。