为了账号安全,请及时绑定邮箱和手机立即绑定

JSONP测试

<!--
JSONP由回调函数和数据组成
通过查询字符串指定当响应到来时在页面中调用的函数
可以直接访问响应文本,实现双向通信,不过无法保证响应内容的安全性
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>跨域--jsonp--百度搜索</title>
<style type="text/css">
    html,body,div,input,ul,li,a{
    margin: 0;
    padding: 0;
    }
    
    #baiduSearch{
    position: absolute;
    top: 10px;
    }
    
    #baiduSearch{
    left: 100px;
    }
    
    #baiduSearch input{
        width: 300px;
        height: 30px;
        padding: 5px;
        border: 1px solid #F90;
        font-size: 16px;
    }
    
    #baiduSearch ul{
        display: none;
        width: 310px;
        border: 1px solid #F90;
    }
    
    #baiduSearch li{
        list-style: none;
    }
    
    #baiduSearch li a{
        padding: 5px;
        text-decoration: none;
        line-height: 30px;
        color: #000;
    }
    
    #baiduSearch li a:hover{
        display: block;
        color: #FFF;
        background-color: #F90;
    }
</style>
</head>
<body>
    <div id="baiduSearch">
        <input type="text" value="" name="q" placeholder="百度搜索">
        <ul></ul>
    </div>
<script type="text/javascript">
    var oBaidu = document.getElementById("baiduSearch");
    var baiduSearch = oBaidu.getElementsByTagName("input")[0];
    var baiduList = oBaidu.getElementsByTagName("ul")[0];
    
    function baiduSug(data) {
        var html = "";
        
        if (data.s.length) {
            baiduList.style.display = "block";
            for (var i=0; i<data.s.length; i++) {
                html += "<li><a target='_blank' href='https://www.baidu.com/s?wd=" + data.s[i] + "'>"+ data.s[i]+"</a></li>";
            };
            baiduList.innerHTML = html;
        } else {
            baiduList.style.display = "none";
        };
    }
    
    baiduSearch.onkeyup = function () {
        if (this.value != "") {
            var oScript = document.createElement("script");
            oScript.src = "http://suggestion.baidu.com/su?cb=baiduSug&wd="+this.value;
            if (document.body) {
                document.body.appendChild(oScript);
            } else {
                document.documentElement.appendChild(oScript);
            };
        } else {
            baiduList.style.display = "none";
        };
    }
</script>
</body>
</html>
</body>
</html>


正在回答

4 回答

$_GET[cb].'({jsondata})'

0 回复 有任何疑惑可以回复我~

oScript.src = "http://suggestion.baidu.com/su?cb=baiduSug&wd="+this.value;

在后台是如何处理cb=baiduSug 来实现调用js baiduSug这个函数的?

0 回复 有任何疑惑可以回复我~

在Java端,我的返回值格式是怎么样的?


0 回复 有任何疑惑可以回复我~

本来以为是问题,结果我把代码看了一遍后,发现你理解的这么透彻,反而自己受益匪浅呀!

0 回复 有任何疑惑可以回复我~
#1

学之舟_36820 提问者

有所帮助就好
2016-11-07 回复 有任何疑惑可以回复我~
#2

学之舟_36820 提问者

有所帮助就好
2016-11-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Ajax全接触
  • 参与学习       224850    人
  • 解答问题       663    个

本课程通过一个案例,讲解Ajax的相关概念原理实现方式和应用

进入课程
意见反馈 帮助中心 APP下载
官方微信