博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跨域ajax原理(jsonp方式)
阅读量:6892 次
发布时间:2019-06-27

本文共 575 字,大约阅读时间需要 1 分钟。

 

 

 

    ajax一般不能跨域,所以跨域ajax的原理不是ajax,而是js节点加载,需提供接口的一方服务端支持。

    具体做法:

    假设我要做一个跨域ajax接口,与普通ajax接口有所不同,需要多接收一个回调函数名,做成函数调用形式,以下为伪代码。

    

string callback = request.qustring("callback");  string json = "{test:'test'}";  response.write(callback+"("+json+")");  response.end();

 

 

    假设接口url为 http://xxx.com

    则任意网站前端调用方式为:

 

 
  

 

    则根据服务端代码,该script节点加载的内容会是callback({test:test});,明白了吧,这样加载该url就会调用全局函数callback并把真正的返回值以参数形式传递进去,

这样就实现了一个支持跨域访问的ajax接口,该接口可以支持被jQuery 的 jsonp形式跨域ajax调用

    另:新规范中对跨域http请求进行了支持,只需请求中带Origin头,响应头中设置下允许即可,这种方式优于jsonp,但不能兼容低版本浏览器

转载于:https://www.cnblogs.com/lasthelloworld/p/4952099.html

你可能感兴趣的文章
关于UWP数据绑定的一个坑 x:bind修改为binding
查看>>
读懂这6大商业模式,你就知道怎么“互联网+”了 !
查看>>
<Android 应用 之路> 百度地图API使用(3)
查看>>
2016 一个想做架构师的码农
查看>>
centos7.2 环境下两个数据库的安装部署
查看>>
cocos2d-x打包Android
查看>>
Leetcode题目:Longest Palindromic Substring
查看>>
线程的状态
查看>>
自动交互脚本之expect使用记录
查看>>
asp.net 下载已二进制存在数据库中的文件
查看>>
找到n中最小的k个数
查看>>
iOS单例模式
查看>>
setTimeout()与setInterval()的区别
查看>>
python模块详解 XML
查看>>
微信公众平台开发文档 获取关注者列表
查看>>
[若有所悟]我看日式外包项目软件过程
查看>>
java 学习笔记-数组(三)
查看>>
jQuery打印Html页面自动分页
查看>>
获取css规则
查看>>
vue的基础使用
查看>>