栗子:
<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
Mexion 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
Mexion 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 |