PHP AJAX JSONP实现跨域请求使用实例
在之前我写过“php返回json数据简单实例”,“php返回json数据中文显示的问题”和“在PHP语言中使用JSON和将json还原成数组”。有兴趣的童鞋可以看看
今天我写的是PHP AJAX JSONP使用的实例。不清楚jsonp是什么的请自己搜索
实例1
test.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="jquery-1.5.2.min.js"></script>
<script src="ajax.js"></script>
</head><body>
</body>
</html>
ajax.js
$.ajax({type : "post",url : "ajax.php",dataType : "jsonp",jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名success : function(json){alert('success');},error:function(){alert('fail');}
});
ajax.php
<?php $data = ".......";
$callback = $_GET['callback'];
echo $callback.'('.json_encode($data).')';
exit;?>
jquery-1.5.2.min.js
自己上网下载
当使用jsonp时,使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
实例2
test.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="jquery-1.5.2.min.js"></script>
<script src="ajax.js"></script>
</head><body>
<form name="form">
<input type="text" name="sex">
<input type="text" name="age">
<input type="button" id="btn" value="button" />
</form>
</body>
</html>
ajax.js
$(document).ready(function(){$("#btn").click(function(k) {//...var j = $("form").serializeArray();//序列化name/value$.ajax({type: 'GET', //这里用GETurl: 'ajax.php',dataType: 'jsonp', //类型data: j,jsonp: 'callback', //jsonp回调参数,必需async: false,success: function(result) {//返回的json数据alert(result.message); //回调输出result = result || {};if (result.msg=='err'){alert(result.info);}else if (result.msg=="ok"){alert('提交成功');}else{alert('提交失败');}},timeout: 3000})//...});});
ajax.php
<?php
$callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回调参数,必需
$date = array("age"=>$_GET['age'], "message"=>$_GET['age']);
$date["msg"]="err";
$date["info"]="因人品问题,发送失败";
$tmp= json_encode($date); //json 数据
echo $callback . '(' . $tmp .')'; //返回格式,必需
?>
jquery-1.5.2.min.js
自己从网上下载
转载于:https://www.cnblogs.com/xcxc/p/3729660.html
PHP AJAX JSONP实现跨域请求使用实例相关推荐
- 利用ES6-Promise()方法封装原始jsonp实现跨域请求公用方法(告别使用JQuery封装好的jsonp)
在项目中,经常需要用到jsonp实现跨域请求,假如使用JQuery封装好的jsonp方法,是很容易实现的,缺点:需要引入JQuery库. $.ajax({url : './package.json', ...
- springMVC实现jsonp的跨域请求
1.在Controller层实现jsonp接口 /***Project Name: gspReceiveServer*File Name: EquipmentController.java*Packa ...
- Ajax的Post跨域请求
Ajax的Post跨域请求 什么是跨域请求 同协议,同ip,同端口视为一个域,两个域之间互相访问就是跨域访问请求. 根据浏览器的同源策略,一个域中的脚本只具有访问本域资源的权限,无法访问其他域的资源. ...
- JQuery - Ajax和Tomcat跨域请求问题解决方法!
JQuery - Ajax和Tomcat跨域请求问题解决方法! 参考文章: (1)JQuery - Ajax和Tomcat跨域请求问题解决方法! (2)https://www.cnblogs.com/ ...
- 利用jsonp实现跨域请求
同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab页中分别打开来 百度和 ...
- 跨域请求(使用jsonp实现跨域请求)百度地图api证逆地址解析获取周边信息(pois)
新手程序员,新手博客,如果那里写的不好,还请大神们补充,指错 最近项目里面需要做一个电子围栏的功能,我这边做的就是需要把商户的地址的经纬度存进数据库,本来这些从百度地图API里面有Demo可以看,但是 ...
- $.ajax() jsonp CROS 跨域
浏览器为了安全起见存在同源策略限制.但是我们在日常的开发过程中经常会遇到使用$.ajax()跨域请求资源的问题. 为了解决跨域的问题.有以下两种方式 一. jsonp 但是jsonp只支持'GET'方 ...
- html中jsonp错误,解决jquery中jsonp格式跨域请求报parsererror的错误
在vs中创建一个空的mvc项目,在Controllers文件夹中添加一个控制器CommonController,并在该控制器下添加一个action用于获取服务器时间,代码如下: public Acti ...
- 使用Jsonp实现跨域请求
来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 serv ...
最新文章
- spring注解注入属性
- Codeforces 1103
- teach-es6-2(class)
- mysql 重启失败,重启MySQL服务失败
- composer配置阿里云镜像
- 每天五分钟,玩转Docker。-Day2
- IE9 Preview 4的CSS3支持。
- python的精髓_教你玩转Python!一文总结Python入门到精髓的窍门
- Kinetis系列单片机(飞思卡尔,NXP )单片机唯一ID获取
- 【51单片机】基于51单片机的时钟电子锁设计
- 谷歌浏览器提示应用程序无法启动
- asp.net报表制作视频教程
- Presenting view controllers on detached view controllers 警告根由
- telegram 语音通话语音呼叫一直连接中
- ArcGIS基于C#.NET的二次开发
- 二进制数据转换为十六进制字符串
- rsi红绿多空波段副图指标 rsi指标公式趋势,兼容通达信公式
- 重载操作符 (c++primer 4e)
- 曾改变世界的最强科学,为什么我们对它的误解却越来越多?
- 基于STM32单片机温湿度光照一氧化碳(CO)浓度仿真设计
热门文章
- MLIR(Multi-Level Intermediate Representation)概述
- 【迁移学习(Transfer L)全面指南】Deep CORAL几何特征变换
- 【深度学习】基于深度神经网络进行权重剪枝的算法(二)
- python【蓝桥杯vip练习题库】ALGO-120 学做菜
- 机器学习中训练集、验证集和测试集的区别
- python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫
- 专业网络推广浅析蜘蛛对网站有抓取但没收录的现象
- 网络推广外包专员浅析如何在网络推广外包中获得相关关键词?
- 学计算机买笔记本是i5 i7,i7不一定比i5好!懂电脑的人选择买i5,而不是i7,究竟怎么回事?...
- mysql 统计条目_mysql 统计表中条目数量的几种方法