JSONP 是啥

JSONP 全称是JSON with Padding. 当需要进行跨域Ajax 调用的时候, 需要用到JSONP 协议.

客户端

$.ajax({
url: 'http://xxx',
type: "Get",
data: {
user_name:user_name,
password:password
},
dataType: "jsonp",
success:function(data){
console.log('send ok');
},
error:function(xhr, status, error){
console.log(status + '; ' + error);
}
});

服务端

下面用Nodejs 举例. 一个jsonp 请求来的时候, 服务端接收到url 大致是这样的:

/verify?callback=jQuery33108773940957973894_1519815876941&user_name=user4&password=1234&_=1519815876942

服务端需要做的就是,把callback 部分提取取出来,然后以下面这种方式返回

res.end(query_data.callback+'('+ JSON.stringify(result_json) + ')');

相关链接

http://www.cnblogs.com/lengyuhong/archive/2012/03/20/2370688.html

https://en.wikipedia.org/wiki/JSONP

使用JSONP进行跨域Ajax 调用的更多相关文章

  1. jsonp现实跨域Ajax CORS

    浏览器有一个很重要的概念——同源策略(Same-Origin Policy).所谓同源是指,域名,协议,端口相同.不同源的客户端脚本(javascript.ActionScript)在没明确授权的情况 ...

  2. firefox,跨域ajax 调用方法

    在A站点ajax 调用B站的页面(方法)时, 使用post,且dataType类型为jsonp 有时在IE会有No Transport的错误提示,请加 jQuery.support.cors = tr ...

  3. 跨域资源共享(CORS)--跨域ajax

    几年前,网站开发者都因为ajax的同源策略而撞了南墙.当我们惊叹于XMLHttpRequest对象跨浏览器支持所带来的巨大进步时,我们很快发现没有一个方法可以使我们用JavaScript实现请求跨域访 ...

  4. 在django中解决跨域AJAX

    由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取另一个源加载的文档的属性. 特别的:由于同源策略是浏览器的限制,所以请求的发送和响应是可以进行,只不过浏览器不接收罢了. 浏览器同源 ...

  5. 06: AJAX全套 & jsonp跨域AJAX

    目录: 1.1 AJAX介绍 1.2 jQuery AJAX(第一种) 1.3 原生ajax(第二种) 1.4 iframe“伪”AJAX(第三种) 1.5 jsonp跨域请求 1.6 在tornad ...

  6. 跨域Ajax -- jsonp和cors

    跨域Ajax - jsonp - cors 参考博客: http://www.cnblogs.com/wupeiqi/articles/5703697.html http://www.cnblogs. ...

  7. AJAX跨域问题解决方法(2)——JSONP解决跨域

    JSONP是什么?JSON全称为JSON with Padding,是JSON的一种补充的使用方式,不是官方协议. 使用JSONP服务器后台要改动吗?JSONP不同于一般的ajax请求返回json对象 ...

  8. 前端 - jsonp 跨域ajax

    jsonp 跨域ajax原理: 浏览器同源策略限制 如何解决同源策略限制: 方式一: 利用创建script块,在其中执行src属性为 远程url 异域 用函数(返回值) 的形式返回参数 方式二: jq ...

  9. JSONP实现跨域

    首先提出:什么是跨域?如何解决跨域? 跨域可以简单的理解为从一个域名访问另一个域名,由于javascript的同源政策的限制,出于安全的考虑,不允许浏览器这么做.比如a.com 域名下的js无法操作b ...

随机推荐

  1. myeclipse 10怎么安装与激活

    http://jingyan.baidu.com/article/5553fa82eae0ce65a2393406.html

  2. eclipse代码编辑区字符串自动转义设置

    在做接口测试时,有时接口请求参数非常多,如果用java相关方法去拼接参数,难度较大,并且非常浪费时间,那如何快速将整个请求参数拼接成一个字符串呢?为了解决这个问题,只要简单配置下eclipse设置即可 ...

  3. cmd 指令

    dir  展示当前文件夹内的文件 mkdir 创建文件夹 c:  访问C盘 (d: f:) cd\ 返回主文件 cd .. 返回上一文件夹 cd test  打开文件夹 访问文件夹 rd 删除文件夹 ...

  4. 6_css选择器

    如何应用css样式? 找标签 写样式 如何找出标签? class选择器 .类名(注意前面点){ 样式 } .a{ color: green; } <p class="a"&g ...

  5. scp简单使用

    从10.48.113.11获取目录/home/test    到本地/home目录下 scp  -r    root@10.48.113.11:/home/test       /home 将本地/h ...

  6. Git分支高级管理[四]

    标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 切换分支 git checkout 撤销对文件的修改 git checkout -- ...

  7. Windows--查看使用某端口的进程

    场景: 有时候我们希望查找某个端口被那个进程使用,如何操作呢? 比如查找8000端口被按个进程使用? 首先使用netstat -ano |grep 8000查看 13776就是使用的进程ID 然后使用 ...

  8. git 对 Microsoft Word 进行版本控制

    昨天中国高校发生了一件骇人听闻的事情,听说不少高校的校园网用户连接校园网被勒索病毒给黑了,重要文件全部被加密,必须要支付赎金才能解密,具体新闻可以参见:http://www.sohu.com/a/14 ...

  9. [PHP] Phalcon操作示范

    这篇内容将对下列操作进行示范: Insert.Select.Update.Calculation.Transaction.models advanced.dev-tools.cookies [ Ins ...

  10. PHP操作Memcached的方法汇总

    memcached非关系型数据库安装.php中的memcache的扩展安装.以及php中的memcached的扩展安装可以参考: http://www.cnblogs.com/phpstudy2015 ...