如何将v-model数据传递到vue.js中的URL路径?
How to pass v-model data to the URL path in vue.js?
我开发了一个包含一个搜索按钮的仪表板,如果我在搜索框中输入一些数据,该数据应该传递到我的后端 URL 路径,基于我的 url 路径要调用我的后端 API,请帮助我如何将 v-model 数据传递到我的 url 路径。
Dashboard.vue
<template>
<div class="main">
<div class="navbar navbar-default navbar-fixed-top">
<div class="navbar-header">
<img src="../assets/education.png" alt="notFound" class="education-image" />
</div>
<ul class="nav navbar-nav">
<li>
<p class="brand">Bookstore</p>
</li>
</ul>
<div class="input-group">
<i @click="handlesubmit();" class="fas fa-search"></i>
<div class="form-outline">
<input type="search" v-model="name" class="form-control" placeholder='search...' />
</div>
</div>
</div>
</div>
</template>
<script>
import service from '../service/User'
export default {
data() {
return {
name:'',
}
},
methods:{
handlesubmit(){
let userData = {
name:this.name,
}
service.userSearchByName(userData).then(response=>{
this.books.push(...response.data);
})
}
}
}
</script>
user.js
userSearchByName(data){
return axios.getData(`/searchBooksbyName/${}`,data);
}
您必须根据后端 API 的预期使用正确的 HTTP 动词 (GET/POST)。在 axios 中使用适当的方法。
使用 get 的示例:
userSearchByName(data){
return axios.get(`/searchBooksbyName/${data.name}`);
}
使用正确的 axios 方法发出任何请求
这是一个简单的解决方案,您可以在发出任何 axios 请求(POST、GET、PATCH、PUT、DELETE)时使用。
handlesubmit(){
const inputQuery = this.name;
return new Promise((resolve, reject) => {
axios.get(`/searchBooksbyName/${inputQuery}`)
.then((response) => {
if (response){
//If you want you can store the value you get in response
}
resolve(response);
console.log("Get Response", response);
})
.catch((error) => {
if(error){
//Perform some task here
}
console.log(" Error", error);
reject(error);
});
}
我开发了一个包含一个搜索按钮的仪表板,如果我在搜索框中输入一些数据,该数据应该传递到我的后端 URL 路径,基于我的 url 路径要调用我的后端 API,请帮助我如何将 v-model 数据传递到我的 url 路径。
Dashboard.vue
<template>
<div class="main">
<div class="navbar navbar-default navbar-fixed-top">
<div class="navbar-header">
<img src="../assets/education.png" alt="notFound" class="education-image" />
</div>
<ul class="nav navbar-nav">
<li>
<p class="brand">Bookstore</p>
</li>
</ul>
<div class="input-group">
<i @click="handlesubmit();" class="fas fa-search"></i>
<div class="form-outline">
<input type="search" v-model="name" class="form-control" placeholder='search...' />
</div>
</div>
</div>
</div>
</template>
<script>
import service from '../service/User'
export default {
data() {
return {
name:'',
}
},
methods:{
handlesubmit(){
let userData = {
name:this.name,
}
service.userSearchByName(userData).then(response=>{
this.books.push(...response.data);
})
}
}
}
</script>
user.js
userSearchByName(data){
return axios.getData(`/searchBooksbyName/${}`,data);
}
您必须根据后端 API 的预期使用正确的 HTTP 动词 (GET/POST)。在 axios 中使用适当的方法。
使用 get 的示例:
userSearchByName(data){
return axios.get(`/searchBooksbyName/${data.name}`);
}
使用正确的 axios 方法发出任何请求
这是一个简单的解决方案,您可以在发出任何 axios 请求(POST、GET、PATCH、PUT、DELETE)时使用。
handlesubmit(){
const inputQuery = this.name;
return new Promise((resolve, reject) => {
axios.get(`/searchBooksbyName/${inputQuery}`)
.then((response) => {
if (response){
//If you want you can store the value you get in response
}
resolve(response);
console.log("Get Response", response);
})
.catch((error) => {
if(error){
//Perform some task here
}
console.log(" Error", error);
reject(error);
});
}