<body> <ul> </ul> <!-- <script src="axios.js"></script> --> <!-- <script src="axio1.js"></script> --> <script src="ajax.js"></script> <script> // let oUl = document.querySelector("ul"); let data = { current: 1, pagesize: 112, } let oUl = document.querySelector("ul"); ajax({ url: "http://localhost:8888/goods/list", type: "get", data, author: true, //需要认证 success: function (resData) { resData = JSON.parse(resData); let data = resData.list; // console.log(data); let html = ""; data.forEach(v => { // console.log(v) html += `<li> <img src="${v.img_big_logo}"> <p>${v.title}</p> <p>¥${v.price}</p> </li>`; }); oUl.innerHTML = html }, }); </script> </body> 如何把渲染出来的内容换成超链接
时间: 2024-02-10 20:34:05 浏览: 110
可以在生成的 li 标签中包裹一个 a 标签,设置其 href 属性为对应的链接地址。例如,将商品的标题作为链接文字,链接地址为商品详情页面:
```
data.forEach(v => {
html += `<li>
<a href="${v.link}">
<img src="${v.img_big_logo}">
<p>${v.title}</p>
<p>¥${v.price}</p>
</a>
</li>`;
});
```
其中,`v.link` 为商品详情页面的链接地址。生成的 li 标签中包含了一个超链接,显示商品的标题,点击后可以跳转到对应的商品详情页面。
相关问题
html vue axios
HTML是一种标记语言,用于创建网页的结构和内容。Vue是一个用于构建用户界面的JavaScript框架,它提供了一套用于构建可复用的组件的工具。Axios是一个基于Promise的HTTP客户端,用于发送异步请求并处理响应。
在使用Vue和Axios时,你可以在HTML中引入Vue库和Axios库,然后使用Vue的语法和指令来创建Vue组件和模板。在Vue组件中,你可以使用Axios发送HTTP请求来获取数据,并将数据绑定到Vue模板中进行展示。
例如,你可以使用Vue的`v-for`指令来循环渲染一个数据列表,并使用Axios来获取数据:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue Axios Example</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="app">
<ul>
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
items: []
},
mounted() {
axios.get('https://api.example.com/items')
.then(response => {
this.items = response.data;
})
.catch(error => {
console.error(error);
});
}
});
</script>
</body>
</html>
```
在这个例子中,我们首先在头部引入了Vue和Axios的库文件。然后,在Vue的`mounted`生命周期钩子中,我们使用Axios发送了一个GET请求来获取数据,并将返回的数据赋值给Vue实例的`items`属性。最后,我们在模板中使用Vue的`v-for`指令来循环渲染数据列表。
当页面加载完成时,Vue会自动执行`mounted`钩子函数,发送请求并更新数据。然后,Vue将数据绑定到模板中,实现了动态展示数据的效果。
用react-hooks 帮我实现对axios的二次封装
以下是使用React Hooks对Axios进行二次封装的示例代码:
```javascript
import { useState, useEffect } from 'react';
import axios from 'axios';
const useAxios = (url, method, body = null, headers = null) => {
const [response, setResponse] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
axios({
method: method, url: url,
data: body,
headers: headers
})
.then(res => {
setResponse(res.data);
})
.catch(err => {
setError(err);
});
}, [url, method, body, headers]);
return { response, error };
};
export default useAxios;
```
在这个示例中,我们使用了useState和useEffect两个React Hooks。useState用于在组件中存储状态,而useEffect用于在组件渲染时执行副作用操作。我们将Axios请求封装在useAxios自定义钩子中,并将url,method,body和headers作为参数传递。在useEffect中,我们使用Axios发送请求,并根据响应设置状态。最后,我们返回一个包含响应和错误的对象。
使用示例:
```javascript
import useAxios from './useAxios';
const MyComponent = () => {
const { response, error } = useAxios('https://jsonplaceholder.typicode.com/posts', 'get');
if (error) return <div>Error: {error.message}</div>;
if (!response) return <div>Loading...</div>;
return (
<ul>
{response.map(post => (
<li key={post.id}>{post.title}</li>
))}
</ul>
);
};
```
在这个示例中,我们使用useAxios钩子从https://jsonplaceholder.typicode.com/posts获取帖子列表。我们根据响应渲染帖子列表,如果出现错误,则显示错误消息,如果响应尚未返回,则显示加载消息。
阅读全文