gpt4 book ai didi

javascript - 使用 Vue 从 Web API 获取数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:21 24 4
gpt4 key购买 nike

我有一个 Web API,我正在尝试使用 Vue 从中获取 JSON 数据,但我既没有获取数据也没有获取错误,所以我不知道哪里出了问题。我想在页面加载时加载数据。

这是我的代码:

const v = new Vue({
el: '#divContent',
ready: function () {
this.loadData();
},
data: {
content: 'loading',
serverData: null
},
methods: {
loadData: function (viewerUserId, posterUserId) {
const that = this;
$.ajax({
contentType: "application/json",
dataType: "json",
url: "http://my-webapi/",
method: "Post",
success: function (response) {
that.$data.serverData = response;

},
error: function () {
alert('Error')
}
});
}
}
});

我的 HTML

<div id="divContent" class="content">
{{ content }}
</div>

最佳答案

是的,您可以使用 jQuery 的 $.ajax() API。但是,不建议仅将 jQuery 用于进行 Ajax 调用。你不想为了使用 Ajax 而包含整个 jQuery 库,对吧? :-)

对于 Vue.js,您有很多使用 Ajax 的选项,例如:

这里是 an example of using the Browser's fetch API .

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
<div id="divContent">
<h1>Article Search Results</h1>
<form v-on:submit.prevent="search">
<input type="text" v-model="query">
<button type="submit">Search</button>
</form>

<ul>
<li v-for="article in articles" v-bind:key="article.source + article.id">
{{ article.title }}
</li>
</ul>
</div>
</body>
</html>

JavaScript

const vm = new Vue({
el: '#divContent',
data() {
return {
query: 'gene',
articles: 'loading'
}
},
created() {
this.search();
},
methods: {
search: function () {
fetch(`https://www.ebi.ac.uk/europepmc/webservices/rest/search?query=${this.query}&format=json`)
.then(response => response.json())
.then(json => {
this.articles = json.resultList.result;
});
}
}
});

输出

enter image description here

关于javascript - 使用 Vue 从 Web API 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47635503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com