takeshi 发表于 2020-4-23 13:37:52

jsonp 怎么取数据啊【在线求大神帮忙】

这是我的代码
var infoid = function(json){
        for (var i=0;i<5;i++){
      alert(json['infos']['categoryname']);
    }
}
var s=document.createElement('script');
s.src='https://xxx.xx.xxx/common?callback=infoid';
document.body.appendChild(s);

这里是jsonp
infoid({
        "msg": "成功了",
        "code": 0,
        "data": {
                "pagination": {
                        "currentPageIndex": 1,
                        "pageSize": 10,
                        "recordCount": 1
                },
                "infos": [{
                        "adddate": "19-11-23",
                        "categoryname": "笔记本电脑",
                        "categoryurl": "https://baidu.com/",
                }]
        }
})


怎么修改我的代码 单独把adddate、categoryname alert出来?

sukiwhip 发表于 2020-4-30 21:32:41

没明白单独 alert 的意思。但看你跑了个循环,意思是 infos 数组是有多个对象,每个对象都有共同的属性名对吧?只提取出固定属性名的值?

yuesezhenmei 发表于 2020-5-10 13:03:28

是不是 让后台把数据发过来而不是跳转自己可以用那个数据更改页面中数据

yuesezhenmei 发表于 2020-5-10 13:04:01

用nodejs写一个API就好了啊

大四萌新孤城 发表于 2020-5-12 22:06:20

https://blog.csdn.net/m0_38134431/article/details/83787452这篇文章讲了如何把jsonp转为json,转了以后直接访问就能取了

kogawananari 发表于 2020-8-29 00:48:09

jsonp就用标准jsonp的调用方式嘛再不然就是考虑一下eval()了


贴一下标准的jsonp的调用哔哩哔哩jsonp{:5_102:}

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
</head>

<body>
    <input id='input' type='input' />
    <ul id='li'></ul>
    <script>
      input.oninput = function () {
            let script = document.createElement("script")
            let url = `https://s.search.bilibili.com/main/suggest?jsoncallback=mycallback&term=${input.value}`
            script.src = url
            document.body.appendChild(script)
            script.onload = () => document.body.removeChild(script)
      }

      function mycallback(data) {
            let ql = ''
            for (let i of Object.values(data)) {
                ql += `<li><a href = https://search.bilibili.com/all?keyword=${i.value}>${i.value}<a/></li>`
            }
            li.innerHTML = ql
      }

      input.onkeypress = function (e) {
            if (e.key == "Enter") {
                window.location.href = `https://search.bilibili.com/all?keyword=${e.target.value}`
            }
      }
    </script>
</body>

</html>

页: [1]
查看完整版本: jsonp 怎么取数据啊【在线求大神帮忙】