在之前我写过“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实现跨域请求使用实例相关推荐

  1. 利用ES6-Promise()方法封装原始jsonp实现跨域请求公用方法(告别使用JQuery封装好的jsonp)

    在项目中,经常需要用到jsonp实现跨域请求,假如使用JQuery封装好的jsonp方法,是很容易实现的,缺点:需要引入JQuery库. $.ajax({url : './package.json', ...

  2. springMVC实现jsonp的跨域请求

    1.在Controller层实现jsonp接口 /***Project Name: gspReceiveServer*File Name: EquipmentController.java*Packa ...

  3. Ajax的Post跨域请求

    Ajax的Post跨域请求 什么是跨域请求 同协议,同ip,同端口视为一个域,两个域之间互相访问就是跨域访问请求. 根据浏览器的同源策略,一个域中的脚本只具有访问本域资源的权限,无法访问其他域的资源. ...

  4. JQuery - Ajax和Tomcat跨域请求问题解决方法!

    JQuery - Ajax和Tomcat跨域请求问题解决方法! 参考文章: (1)JQuery - Ajax和Tomcat跨域请求问题解决方法! (2)https://www.cnblogs.com/ ...

  5. 利用jsonp实现跨域请求

    同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab页中分别打开来 百度和 ...

  6. 跨域请求(使用jsonp实现跨域请求)百度地图api证逆地址解析获取周边信息(pois)

    新手程序员,新手博客,如果那里写的不好,还请大神们补充,指错 最近项目里面需要做一个电子围栏的功能,我这边做的就是需要把商户的地址的经纬度存进数据库,本来这些从百度地图API里面有Demo可以看,但是 ...

  7. $.ajax() jsonp CROS 跨域

    浏览器为了安全起见存在同源策略限制.但是我们在日常的开发过程中经常会遇到使用$.ajax()跨域请求资源的问题. 为了解决跨域的问题.有以下两种方式 一. jsonp 但是jsonp只支持'GET'方 ...

  8. html中jsonp错误,解决jquery中jsonp格式跨域请求报parsererror的错误

    在vs中创建一个空的mvc项目,在Controllers文件夹中添加一个控制器CommonController,并在该控制器下添加一个action用于获取服务器时间,代码如下: public Acti ...

  9. 使用Jsonp实现跨域请求

    来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 serv ...

最新文章

  1. spring注解注入属性
  2. Codeforces 1103
  3. teach-es6-2(class)
  4. mysql 重启失败,重启MySQL服务失败
  5. composer配置阿里云镜像
  6. 每天五分钟,玩转Docker。-Day2
  7. IE9 Preview 4的CSS3支持。
  8. python的精髓_教你玩转Python!一文总结Python入门到精髓的窍门
  9. Kinetis系列单片机(飞思卡尔,NXP )单片机唯一ID获取
  10. 【51单片机】基于51单片机的时钟电子锁设计
  11. 谷歌浏览器提示应用程序无法启动
  12. asp.net报表制作视频教程
  13. Presenting view controllers on detached view controllers 警告根由
  14. telegram 语音通话语音呼叫一直连接中
  15. ArcGIS基于C#.NET的二次开发
  16. 二进制数据转换为十六进制字符串
  17. rsi红绿多空波段副图指标 rsi指标公式趋势,兼容通达信公式
  18. 重载操作符 (c++primer 4e)
  19. 曾改变世界的最强科学,为什么我们对它的误解却越来越多?
  20. 基于STM32单片机温湿度光照一氧化碳(CO)浓度仿真设计

热门文章

  1. MLIR(Multi-Level Intermediate Representation)概述
  2. 【迁移学习(Transfer L)全面指南】Deep CORAL几何特征变换
  3. 【深度学习】基于深度神经网络进行权重剪枝的算法(二)
  4. python【蓝桥杯vip练习题库】ALGO-120 学做菜
  5. 机器学习中训练集、验证集和测试集的区别
  6. python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫
  7. 专业网络推广浅析蜘蛛对网站有抓取但没收录的现象
  8. 网络推广外包专员浅析如何在网络推广外包中获得相关关键词?
  9. 学计算机买笔记本是i5 i7,i7不一定比i5好!懂电脑的人选择买i5,而不是i7,究竟怎么回事?...
  10. mysql 统计条目_mysql 统计表中条目数量的几种方法