JSONP超简单例子,一看就能上手

JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。JSONP解决了ajax跨域请求的问题,JSONP只是解决跨域请求方案中的一种。

下面基于Servlet简单介绍一下JSONP接口的开发流程:

1, 创建一个Servlet接口JsonpServlet

class  JsonpServlet  extends  HttpServlet  {

    doGet(HttpServletRequest req, HttpServletResponse resp) ServletException, IOException {
        //回调函数名
        String callback = req.getParameter();
        resp.setCharacterEncoding();
        JSONObject jo = JSONObject();
        jo.put(,);
        System..println(jo.toJSONString());
        System..println(jo.toString());
        //将JSON包装进函数名中
        resp.getWriter().print(callback + + jo.toJSONString() + );
    }

    doPost(HttpServletRequest req, HttpServletResponse resp) ServletException, IOException {
        doGet(req, resp);
    }
}

2, 创建一个html文件,并调用JSONP接口

    
    
        var localHandler = function(data){
            alert(‘i am local fun,can be called by remote.js,remote js return data :‘ + data.result);
        };
        var url = "http://localhost/jsonpServlet?callback=localHandler";
        var script = document.createElement(‘script‘);
        script.setAttribute(‘src‘, url);
        document.getElementsByTagName(‘head‘)[0].appendChild(script);

调用成功后,浏览器弹出对话框

时间: 2024-12-24 00:55:31

JSONP超简单例子,一看就能上手的相关文章

npm install —— 从一个简单例子,看本地安装与全局安装的区别

npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如 npm install grunt # 本地安装 npm install -g grunt-cli # 全局安装 这两种安装方式有什么区别呢?从npm官方文档的说明来看,主要区别在于(后面通过具体的例子来说明):本地安装1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)2. 可以通过 require() 来引入本地安装的包 全局安装1. 将安装包放在

jsonp的简单例子

index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jsonp</title> <script type="text/javascript" src="/static/jquery.min.js"></script> </head> <body&

Java面向对象超简单例子——三维坐标

Point类,具有改变x,y,z坐标,计算该点到原点距离,计算该点到其他点的距离的方法.(全是int型) public class Point { private int x; private int y; private int z; public Point(int _x,int _y,int _z) { x = _x; y = _y; z = _z; } public void setx(int _x) { x = _x; } public void sety(int _y) { y =

vuex其实超简单,只需3步

前言 之前几个项目中,都多多少少碰到一些组件之间需要通信的地方,而因为种种原因,event bus 的成本反而比vuex还高, 所以技术选型上选用了 vuex, 但是不知道为什么,团队里的一些新人一听到vuex,就开始退缩了, 因为vuex 很难? 真的很难吗?今天我们用简单的3步来证明一下,vuex有多简单. 纯属个人经验,难免有不正确的地方,如有发现,欢迎指正! 这是一个针对新手的入门级教程.入门级教程.入门级教程 第零步 新建一个vue项目,安装vuex,这里不做过多介绍,能点进来的,默认

从一个简单例子来理解js引用类型指针的工作方式

? 1 2 3 4 5 6 7 <script> var a = {n:1};  var b = a;   a.x = a = {n:2};  console.log(a.x);// --> undefined  console.log(b.x);// --> [object Object]  </script> 上面的例子看似简单,但结果并不好了解,很容易把人们给想绕了--"a.x不是指向对象a了么?为啥log(a.x)是undefined?".&

微信公众平台之超简单实用的天气预报后台实现

微信公众平台之超简单实用的天气预报后台实现 概述,前段时间我在开发一个自己的微信公众平台,需要实现天气预报功能,在网上度娘了下,实现天气预报的接口API还蛮多的,有:中国气象局.雅虎和新浪等,中国天气预报接口需要全国的编码,雅虎的有时候访问不了,研究了下还是新浪提供的接口比较简单实用.新浪天气预报API的URL是http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0.其

spring mvc(注解)上传文件的简单例子

spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少 大家可以看具体代码如下: web.xml &

最简单例子图解JVM内存分配和回收

一.简介 JVM采用分代垃圾回收.在JVM的内存空间中把堆空间分为年老代和年轻代.将大量(据说是90%以上)创建了没多久就会消亡的对象存储在年轻代,而年老代中存放生命周期长久的实例对象.年轻代中又被分为Eden区(圣经中的伊甸园).和两个Survivor区.新的对象分配是首先放在Eden区,Survivor区作为Eden区和Old区的缓冲,在Survivor区的对象经历若干次收集仍然存活的,就会被转移到年老区. 简单讲,就是生命期短的对象放在一起,将少数生命期长的对象放在一起,分别采用不同的回收

打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释

为什么要做这个看起来不靠谱的东西呢? 由于刚学android开发,还不能非常好的熟练控制android界面的编辑和操作,所以我的一个急着要的运用就改为html5版本号了,反正这个运用也是须要从server获取大量数据来展示在手机上面的,也就是说:必须联网,才干正常工作,于是想了一下,反正都要联网获取数据,为什么不直接用我相对熟悉一点的 html来做这个运用呢?省的花费不够用的时间去学习android界面的控制,于是就简单了:用蹩脚的手段做了一个android程序的启动欢迎界面,内页就是一个全屏的