关键词:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- src 属性他自带有跨域功能,浏览器没有限制。 --> <script> function jsonp(info) { //已经帮我转成对象。 console.log(info); } /* * 我的目的是什么: * http://www.baidu.com/asdfsadf/asdf.php * 然后这个地址返回,我想把这个返回的数据获取。 * 我的目的是获取第三方网站的资源数据。 * * */ </script> <!-- 这个标签没有跨域的限制,浏览器没有对这个标签进行一个禁用。 jQuery //之前这段代码是写在http://www.wu.com $.ajax({ url:"http://www.baidu.com/asdfasdfasdf", type:"get", success:function(){ } }) //假设没有加dataType:jsonp //这个jQuery 底层默认是去发送一个XMLHttpRequest 的请求 //但是请求的资源是http://www.baidu.com 的资源 ,直接跨域的。 //现在我是dataType:jsonp //jQuery 底层 var srcipt=document.createElement("srcipt"); //srcipt.src="http://www.baidu.com" //跨域 --> <script src="http://api.wu.com/api/04jsonp1.php?callback=jsonp"></script> </head> <body> </body> </html>
跨域: 我在www.xiaoyanzi.com 站点下面的一个页面想去访问 http://www.baidu.com 下面的一个资源. http://www.xiaoyanzi.com a.html http://www.baidu.com b.html 1:document a.html 想访问b.html 下面的元素 顶级域名都不一样。 http://www.xiaoyanzi.com a.html http://api.xiaoyanzi.com b.html 主域名一样。 a.html 想访问b.html 默认不允许。 同源:域名,端口,协议必须一样。 (不同源就跨域) 但是主域名都一样。 所以我怎么去解决这个跨域的问题。 http://www.z.com a.html 使用js 添加一个document.domian ="zhuwu.com"; http://api.z.com b.html 使用js 添加一个document.domian ="zhuwu.com"; 2:ajax 跨域 在http://www.z.com 有一个a.html 想去访问http://www.baidu.com/afads.php 有跨域的特性。(浏览器觉得会有安全问题。) a.html $.ajax({ url:"http://www.baidu.com", type:"", }) 请求可以发送出去,数据回不来。 $.ajax({ url:"http://www.baidu.com", type:"", dataType:"jsonp", }) 底层的原理 在jQuery 的参数不加 dataType:"jsonp", 默认是发送一个xmlHttpRequest 请求,使用这个对象去发送请求。你浏览器根本就接收不到数据。 添加了:dataType:"jsonp", jQuery 里面 var script=document.createElement("script"); script.src="http://www.baidu.com/demo.js"; 跨域访问是我们以后比较常见的操作: 1: 在我的网站下面去访问一些其它网站提供的一些服务。 2: 天气预报,查询机票,查询火车票。 查询ip 地址。电话号码归属地
jsonp的工作原理是什么?
利用<script>标签没有跨域限制的“漏洞”来达到与第三方通讯的目的。当需要通讯时,本站脚本创建一个<script>元素,地址指向第三方的API网址,形如:<scriptsrc="http://www.xxxx.com/index.php?par1=1&bar2=2"></script>并提... 查看详情
jsonp原理解析
前言我工作以来接触的第一个项目就是前后端分离的,前端静态文件有自己独立域名,通过接口来获取数据进行渲染等操作。跨域的方法不需要多言,随便一搜,就有很多,但最常用不外乎jsonp和CORS。jsonp着重于前端,也算是前... 查看详情
ajax解决跨域--jsonp原理(代码片段)
...员的聪明才智开发出来,只支持get请求。1.2JSONP怎么工作的?在网页有一些标签天生具有跨域能力,比如:imglinkiframescript。JSONP就是利用script标签的 查看详情
jsonp的原理和实现
...部分组成。简单点说,jsonp是一种跨域通信的手段,它的原理其实很简单:首先是利用s 查看详情
jsonp原理详解
什么是JSONP? 先说说JSONP是怎么产生的: 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助。 1、一... 查看详情
原生javascript里jsonp的实现原理
ajax不能跨域,jsonp可以跨域跨域的核心思想: 调用(拿到的接口),定义(jsonp核心处理器)分别是不同的script标签里面进行跨script取数据(只有get方式进行取数据) jsonp传进来的数据是{url:‘‘,data:{ ... 查看详情
jsonp的原理
jsonp是怎麽產生的呢?1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准。2、不过我们又发现,Web页面上调用js文件时则不受是... 查看详情
jsonp原理,怎样实现跨域?
什么是JSONP? JSONP和JSON的关系又是什么呢?JSON(JavaScriptObjectNotation)和JSONP(JSONwithPadding)虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非... 查看详情
jsonp原理详解
先说说JSONP是怎么产生的:一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准。不过我们又发现,Web页面上调用js文件时则不受是否... 查看详情
跨域jsonp原理及调用详细演示样例
...:JSONP和CORS。 那这篇博客就介绍JSONP方式。 JSONP原理 在同源策略下,在某个server下的页面是无法获取到该server以外的数据的,但img、iframe、script等标签是个例外。这些标签能够通过src属性请求到其它server上的数... 查看详情
原生javascript里jsonp的实现原理
ajax不能跨域,jsonp可以跨域跨域的核心思想: 调用(拿到的接口),定义(jsonp核心处理器)分别是不同的script标签里面进行跨script取数据(只有get方式进行取数据) jsonp传进来的数据是{url:‘‘,data:{ ... 查看详情
ajax与jsonp
...新加载整个网页的情况下,能更新部分网页的技术。2、工作原理 A、ajax就是js通过一个网站去加载数据,这个过程通常是用户不可见的。 B、传统的网页(不适用ajax)如果需要更新内 查看详情
前端跨域之jsonp实现原理及.net下jsonp的实现
jsonp的本质是通过script标签的src属性请求到服务端,拿到到服务端返回的数据,因为src是可以跨域的。前端通过src发送跨域请求时在请求的url带上回调函数,服务端收到请求时,接受前端传过来的回掉函数名称,将其拼接成js函... 查看详情
深入理解jsonp原理——前端面试
JSON和JSONP虽然只有一个字之差,但是它们俩是八竿子打不着的:JSON是一种数据交换格式,JSONP是非正式的跨域数据交换协议。为什么说JSONP是非正式的传输协议呢?因为它就是利用了<script>标签没有跨域限制这一“漏洞”来... 查看详情
jsonp详细原理之一
/*script标签是不存在跨域请求的,类似的还有img,background:url,link 你可以想象一下,平时的这些标签都是可以直接引入外部资源的,所以是不存在跨域问题的*/functiongetData(res){ console.log(res.data); } /*这里创建一个JS标签,相当于... 查看详情
jsonp原理
HTML中script标签可以加载其他域下的js,比如我们经常引入一个其他域下线上cdn的jQuery。那如何利用这个特性实现从其他域下获取数据呢?可以先这样试试:<scriptsrc="http://api.jirengu.com/weather.php"></script>这时候会向天气接口... 查看详情
jsonp原理及实现(代码片段)
JSONP原理及实现1概述2优点3缺点4实现1概述JSONP是是一种跨域通信的手段,它可以让网页从别的域名(网站)中获取数据,即跨域读取数据,兼容性好,但是只能处理GET请求。它的原理是利用script标签的src属... 查看详情
对 JSONP 请求的工作方式感到困惑
】对JSONP请求的工作方式感到困惑【英文标题】:ConfusedonhowaJSONPrequestworks【发布时间】:2012-04-2821:39:01【问题描述】:我无法理解jsonp请求如何工作的细节。我已经阅读了包括jsonp上的wiki在内的几个来源,但对于在进行jsonp调用... 查看详情