JSONP简单例子
jsonp的原理很简单,主要利用了HTML中所有有src的属性的标签可以跨域的特点,利用script的src进行get请求,后端输出一段js代码的字符串在script中便会执行。 当然后端输出普通的json字符串是不行的,后台应当输出fn(json)样式的字符串 ,fn代表要调用的js方法;json代表要处理的数据.这也是jsonp得名的原因.后台不会知道要调佣哪个js,所以需要前台把要调用的函数的名字发给后台.
一个简单的jsonp例子 后台 node版本 var http = require('http');
var server = new http.Server();
server.listen(8000); server.on('request', function(request, response){
var url = require('url');
var params = url.parse(request.url, true).query;
var fn = params.fn; response.writeHead(200, {'Content-type':'text/plain'});
response.write(fn+'(22)');
response.end();
}); 前台
<meta charset="UTF-8">
<title></title>
<script>
var log = function(msg) {
alert(msg);
}
</script> <script type="text/javascript"> function getJsonp(url, fn) { var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script'); script.onload = function() {
head.removeChild(script);
if (fn) {
fn();
}
}
script.src = url;
head.appendChild(script);
} getJsonp("http://192.168.1.103:8000/?fn=log");
</script>
JSONP简单例子的更多相关文章
- jsonp的简单例子
jsonp的简单例子 index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
- QQ互联简单例子,七彩花都提供
QQ互联简单例子 源码由七彩花都论坛提供 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- Hibernate4.2.4入门(一)——环境搭建和简单例子
一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- ko 简单例子
Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
- java socket编程开发简单例子 与 nio非阻塞通道
基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...
- 一个简单例子:贫血模型or领域模型
转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...
随机推荐
- ios 得到目录大小 进率是1000
- (CGFloat)folderSizeAtPath:(NSString *) folderPath { NSFileManager * manager = [NSFileManager d ...
- Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
近期開始玩PHP,于是试着搭建一下开发环境并做个记录,以备日后再使用起来方便可查. 第一步 确保软件包是最新的 sudo apt-get update 第二步 安装Apache2 sudo apt-g ...
- Windows程序的打包,部署(vs项目打包vs2013)---ShinePans
Windows 应用程序在开发完毕之后,怎样将程序打包并制作成安装程序在客户机上部署 是每一个windows应用程序开发完毕之后都必须面对的问题. 学习目标: 部 ...
- Apple Developer Registration and DUNS Number Not Accepted
Now that I have my Mac and app source code. I’m ready to start working on my first app. The next ste ...
- msgpack和protobuf的对比
msgpack和protobuf的对比 msgpack的序列化速度比protobuf要快一些,但反序列化要比protobuf要慢一些,但总体都接近msgpack可以直接序列化类对象,但protobuf ...
- Tomcat – java.lang.OutOfMemoryError: PermGen space Cause and Solution
Read more: http://javarevisited.blogspot.com/2012/01/tomcat-javalangoutofmemoryerror-permgen.html#ix ...
- 找回 : MobileCoreServices.framework
MobileCoreServices.framework 丢失后,可通过如下方式找回: 1.在同事机器上拷贝一个. 路径: 2.重装一个xcode 实践:将xcode4.5下的文件拷到xcode4 ...
- 怎么上传自己的代码/项目到自己的github仓库上
创建新的git仓库 设置新仓库 创建完成后 复制git地址 现在已经有window git客户端了(地址:https://desktop.github.com/),但还是建议用git命 ...
- Rsync服务介绍与配置
Rsync 简要介绍 rsync 是一个用于增量文件传输的开源工具,不得不说,rsync简直是不同服务器间传输文件.同步文件的利器.与FTP相比,它具有非常简单的安装和配置方法.而且,rsync可以只 ...
- [转]C++之运算符重载(2)
上一节主要讲解了C++里运算符重载函数,在看了单目运算符(++)重载的示例后,也许有些朋友会问这样的问题.++自增运算符在C或C++中既可以放在操作数之前,也可以放在操作数之后,但是前置和后置的作用又 ...