本文实例讲述了jsonp跨域获取百度联想词的方法。分享给大家供大家参考,具体如下:
jsonp原理:
1.Web页面上用<script> 引入 js文件时则不受是否跨域的影响 (不仅如此,我们还发现凡是拥有"src"这个属性的标签都拥有跨域的能力,比如<script>、<img>、<iframe>)
2.于是我们把数据放到服务器上,并且数据为json形式(因为js可以轻松处理json数据)
3.因为我们无法监控通过<script>的src属性是否把数据获取完成,所以我们需要做一个处理。
4.实现定义好处理跨域获取数据的函数,如 function doJson(data){}。
5.用src获取数据的时候添加一个参数cb=‘doJson' (服务端会根据参数cb的值返回对应的内容) 此内容为以cb对应的值,doJson为函数真实要传递的数据为函数的参数的一串字符如 doJson('数据')
百度联想词的实现:
用jsonp解决跨域问题。我们就跨域拿到百度的数据
<script> //输入框 var oInp = document.getElementsByTagName('input')[0]; //得到的数据存在ul的li里 var oUl = document.getElementsByTagName('ul')[0]; //获取输入内容,查找百度对应的src oInp.oninput = function () { var value = this.value; var oScript = document.createElement('script'); oScript.src = 'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=' + value + '&cb=doJosn'; document.body.appendChild(oScript); } //对传回的数据进行处理(回调函数) function doJosn(data) { var s = data.s; var str = ''; if (s.length > 0) { s.forEach(function (ele, index) { str += '<li><a href =https://sp0.baidu.com/s?wd=' + ele + '>' + ele + '</a></li>'; }) oUl.innerHTML = str; oUl.style.display = 'block'; } else { oUl.style.display = 'none'; } } </script>
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript中ajax操作技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
我理解的JSONP的方式就是,通过JS代码,动态创建一个Script标签,通过标签的src的网址里面包含一个JSONP属性,后端接收到后返回一个url中jsonp=参数,这样一个参数(包含一个json),通过执行这个参数命名的函数来实现跨域。 以下是JS中的代码 var util = {}; /*[function 在页面注入脚本]*/ util.createScript = function(u
本文向大家介绍Jsonp post 跨域方案,包括了Jsonp post 跨域方案的使用技巧和注意事项,需要的朋友参考一下 近期在项目中遇到这样一问题,关于jsonp跨域问题,get传值是可以的,但post传值死活不行啊,于是网上看了一大堆关于这方面的资料,最终问题得以解决,今天抽空与大家分享下。 说明: http://www.t1.com/index.php 服务端URL 当然这是我本地配置的,
本文向大家介绍jsonp跨域获取数据的基础教程,包括了jsonp跨域获取数据的基础教程的使用技巧和注意事项,需要的朋友参考一下 前言 由于浏览器有同源策略,所以要想获取非同源(协议,域名,端口三者有一不同都算非同源)的页面的数据,就得进行跨域 (1) jsonp原理 由于script标签的src属性可以访问非同源的js脚本,所以通过src属性访问服务器会返回函数的js代码,而我们想要的数据就作为函
本文向大家介绍Ajax的jsonp方式跨域获取数据的简单实例,包括了Ajax的jsonp方式跨域获取数据的简单实例的使用技巧和注意事项,需要的朋友参考一下 jsonp的调用,今天碰到了,正好整理了一下。 以上这篇Ajax的jsonp方式跨域获取数据的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍AJAX跨域请求之JSONP获取JSON数据,包括了AJAX跨域请求之JSONP获取JSON数据的使用技巧和注意事项,需要的朋友参考一下 Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLH
本文向大家介绍jQuery使用JSONP实现跨域获取数据的三种方法详解,包括了jQuery使用JSONP实现跨域获取数据的三种方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery使用JSONP实现跨域获取数据的三种方法。分享给大家供大家参考,具体如下: 第一种方法是在ajax函数中设置dataType为'jsonp' 第二种方法是利用getJSON来实现,只要在地址中加上c