
栗子:
<p id="114514"></p>
接口是https://aaa.com/name?=114514 返回数据是 “田所浩二” 那么应该怎么让js携带id中的参数去请求https://aaa.com/name?=114514 然后把返回的“田所浩二”赋值给p 标签?
有大佬能给个栗子吗? 接口是 https://bilibili.vuplive.com/name.php?uid=114514
1 zcf0508 2022-09-08 18:03:39 +08:00 const nodes = document.querySelectorAll('p') nodes.map((node)=>{ const id = node.id // 请求拿数据 node.innerText = "结果" }) |
2 Wanex 2022-09-08 18:06:09 +08:00 先获取到这个 id: const el = document.querySelector("p"); const id = el.id; 然后直接请求替换就行了: fetch(`https://bilibili.vuplive.com/name.php?uid=${id}`).then(res => res.text()).then(res => p.innerText = res); |
3 Wanex 2022-09-08 18:08:46 +08:00 打错了,应该是: el.innerText 多个的话就按一楼那样遍历就行了 |
4 thefck 2022-09-08 18:14:35 +08:00 document.querySelectorAll('p').forEach(function(node){ if(node.id){ var xhr = new XMLHttpRequest(); xhr.open('get', 'https://bilibili.vuplive.com/name.php?uid='+node.id); xhr.Onreadystatechange= function () { if (xhr.readyState !== 4) return; if (xhr.status === 200) { node.innerText = xhr.responseText } }; xhr.send(); } }) |
5 cmdOptionKana 2022-09-08 18:15:55 +08:00 拿到 id 后,用 fetch 或 axios 向接口发请求即可获得返回数据,然后用 innerText 或 jquery 修改网页即可。 而怎么拿到 id ,就要找规律了,比如是不是整个网页只有一个 <p>, 或者是不是有一堆 <p> 某个 <div> 内等等。 |
6 hiugo OP |