- 浏览: 567421 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
浏览器的同源策略,限制脚本程序只能和同协议,同域名,同端口的脚本进行交互,包括共享和传递变量,cookie的传递。尽管浏览器不允许页面脚本跨域读
取数据,但是允许html引用跨域的资源,比如脚本程序,css,图片,等等,因为script,iframe的src是不存在跨域的。
- $.get( "http://www.b.com:8080/domain2/index.jsp" ,
- {}, function(data){
- alert(' error:' +data)
- }, "html" );
比如上面的请求,因为是跨域读取数据,所以,无法获取想要的数据
jsonp是非官方协议,它是在服务端生成script tags返回到客户端,在客户端通过javscript callback形式实现跨域访
问。
jsonp原理是客户端定义一个callback,然后把callback名字传送至服务端,服务端生成json数据,然后以javascript
的方式,生成一个以callback名字的function的javascript函数执行形式,将json数据以入参方式放到function中,就
生成了一个js的函数执行语法的文档,传到客户端。客户端浏览器解析script,执行服务端返回的javascript片段,返
回的数据作为参数,传入到客户端定义的callback中动态执行。
实例
- //www.a.com:8080/domain1/index.jsp
- <script type="text/javascript" >
- function sayHello(result){
- alert(result());
- }
- </script>
- <script type="text/javascript" src="http: //www.b.com:8080/domain2/index.jsp?
- callback=sayHello"></script>
- //www.b.com:8080/domain2/index.jsp
- <%
- String script="function show(){ return 'hello';}" ;
- //String script="{name:'yuyong'}";
- String callback=request.getParameter("callback" );
- out.println(callback+"(" +script+ ")" );
-
%>
发表评论
-
HTTP协议之multipart/form-data请求分析
2015-11-09 17:41 773原文地址:http://blog.csdn ... -
Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别
2015-10-30 18:01 1059原文地址:http://blog.csdn.net/mmllk ... -
过滤器和拦截器的区别
2015-10-30 18:00 663原文地址:http://blog.163.com/hzd_lo ... -
过滤器、监听器、拦截器的区别
2015-10-30 17:59 600原文地址:http://blog.csdn.net/x_yp/ ... -
【JSP】让HTML和JSP页面不缓存的方法
2015-10-14 10:16 490原文地址:http://blog.csdn.net/juebl ... -
jsp去掉浏览器缓存
2015-10-14 09:21 632原文地址:http://bbs.csdn.net/topics ... -
pageContext对象的用法
2015-09-04 21:24 712原文地址:http://blog.csdn.net/warcr ... -
log4j日志文件乱码问题的解决方法
2015-01-06 18:11 834原文地址:http://blog.csdn.net/inkfi ... -
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2014-12-09 10:33 791原文地址:http://www.techo ... -
241个jquery插件—jquery插件大全
2014-12-09 10:26 805原文地址:http://blog.csdn.net/adsda ... -
JEECMS 系统权限设计
2014-09-05 16:25 948原文地址:http://chinajweb.iteye.com ... -
前端ui的js框架
2014-09-04 16:45 597原文地址:http://www.quickui.net/v3/ ... -
2014 年最火的21个JavaScript框架
2014-09-03 17:25 480原文地址:http://www.iteye.com/news/ ... -
使用servlet保存用户上传的文件到本地
2014-08-12 14:46 637原文地址:http://blog.csdn.net/shuwe ... -
Servlet 实现文件的上传与下载
2014-08-12 14:44 894原文地址:http://www.2cto.com/kf/201 ... -
android文件上传到服务器
2014-08-12 11:03 400代码非原创,fix了bug,完善的还是需要再思量: /** * ... -
Bootstrap 栅格系统
2014-08-08 15:53 522原文地址:http://www.cnblogs.com/lin ... -
自定义Bootstrap
2014-08-08 10:14 693原文地址:http://www.w3cplus.com/css ... -
使用python/casperjs编写终极爬虫-客户端App的抓取
2014-08-06 18:09 9591.缘起 随着移动互 ... -
使用Selenium和PhantomJS解析带JS的网页
2014-08-06 17:57 1053有的网页,不能直接通过wget/curl等命令、或者直接使用P ...
相关推荐
JSONP(JSON with Padding)是一种跨域数据交互协议,它利用了浏览器的同源策略的例外,即允许页面加载来自不同源的`<script>`标签。这种方法主要用于解决现代浏览器中的跨域数据访问问题,因为JSONP不受同源策略的...
### JSONP 跨域请求数据实现手机号码查询实例分析 #### 前言 在现代Web开发中,跨域问题一直是前端开发者面临的一个常见难题。简单来说,由于浏览器的同源策略限制,当一个网页尝试从不同的源(即不同的协议、端口...
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友
JSONP(JSON with Padding)是一种跨域数据交互协议,它利用了`<script>`标签可以跨域请求资源的特性来实现JavaScript与服务器之间的通信。在JavaScript中,由于同源策略的限制,通常不能直接访问不同源的资源。但是...
在客户端,使用 jQuery 发起 JSONP 请求非常简单。设置 `dataType` 为 `'jsonp'`,并指定回调函数名(`jsonpCallback` 或 `callback`): ```javascript $.ajax({ url: 'http://yourserver.com/JsonpHandler.ashx'...
【JSONP跨域原理】 JSONP(JSON with Padding)是一种跨域数据交互协议,它的基本思想是利用浏览器允许 `<script>` 标签加载不同源的脚本这一特性,通过动态创建 `<script>` 标签并设置其 `src` 属性来发起请求。...
总结,JSONP是一种简单且广泛使用的跨域解决方案,尤其适用于那些不支持CORS的旧版本浏览器。然而,考虑到安全性和灵活性,CORS在现代Web开发中已成为更推荐的选择。理解JSONP的工作原理和使用方法对于任何Web开发者...
JSONP(JSON with Padding...以下是一个简单的JSONP手动实现的例子: ```html <!DOCTYPE html> <head><title>JSONP Demo</title></head> function jsonp(data) { console.log('username:', data.username); } ...
以下是使用Java Servlet实现JSONP服务端的一个简单例子: ```java @WebServlet("/jsonp") public class JsonpServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, ...
需要注意的是,虽然JSONP提供了一种灵活的跨域请求解决方案,但它也有一些局限性和安全风险。例如,JSONP允许执行任意的JavaScript代码,如果服务器端的输出没有经过严格验证和清洗,可能会导致跨站脚本攻击(XSS)...
在给定文件中,我们看到了一段使用JSONP方法实现跨域获取数据的JavaScript代码实例及其在HTML页面中的应用。首先,我们定义了一个名为`jsonp`的函数,用于封装JSONP请求的过程。这个函数接收三个参数:`url`(请求的...
在Spring框架中处理JSONP跨域请求是一个常见问题,尤其当开发者需要从前端JavaScript代码中调用不同域上的RESTful服务时。由于浏览器的安全限制,同源策略防止了不同域的文档或脚本间的交互,这使得传统的AJAX请求不...
PHP AJAX JSONP 实现跨域请求使用实例 在 Web 开发中,跨域请求是指从一个域名下的页面请求另一个域名下的资源,这种情况下,浏览器会限制这种请求,以防止恶意攻击。JSONP(JSON with Padding)是一种解决跨域请求...
本文实例讲述了jsonp跨域请求数据实现手机号码查询的方法。分享给大家供大家参考,具体如下: 前言 网上有很多开放的api,我们在本地通过ajax获取数据时,总会碰到一个问题,那就是跨域!如果不借助php等,仅仅通过...
JavaScript中的JSONP(JSON with Padding)是一种常用的解决跨域问题的技术。由于浏览器的同源策略限制,JavaScript通常不能跨域访问资源,除非目标服务器明确允许。JSONP利用了`<script>`标签不受同源策略限制的...
1. jQuery Jsonp跨域概念: - jQuery Jsonp是一种用于跨域请求的技术手段。在Web开发中,出于安全考虑,浏览器实施了同源策略,限制了一个域下的脚本与另一个域下的资源进行交互。而Jsonp(JSON with Padding)技术...