jsonP

json是一种数据格式jsonp是非正式传输协议

jsonp里传输的就是json的数据格式,只是在发送请求时多加一个参数,其值为回调函数。

后台程序在获得该回调函数后,把准备好的json数据拼接到回调函数里面


前台代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-type" content="text/html;charset=utf-8"/>
</head>
<body>

    <script type="text/javascript">
    // 得到航班信息查询结果后的回调函数
    var flightHandler = function(data){
        alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。');
    };
    // 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
    var url = "http://192.168.1.173/remote.php?code=CA1998&callback=flightHandler";
    // 创建script标签,设置其属性
    var script = document.createElement('script');
    
    script.setAttribute('src', url);
    alert(script);
    // 把script标签加入head,此时调用开始
    document.getElementsByTagName('head')[0].appendChild(script); 
    </script>

</body>
</html>
后端的php代码如下:
<?php
if(isset($_GET['callback'])){
	$callback = $_GET['callback'];
	$code = $_GET['code'];
	
	$str = $callback.'({'.'\'code\':\''.$code.'\',\'price\':1789,})';
	echo $str;

}

注解:在客户端浏览器中通过js产生一个script元素:

var url = "http://192.168.1.173/remote.php?code=CA1998&callback=flightHandler";
var script = document.createElement('script');
script.setAttribute('src', url);
 // 把script标签加入head,此时调用开始
document.getElementsByTagName('head')[0].appendChild(script); 



这个<scirpt src='XXXXX'></script>中的src引用的是一个服务器端脚本(php echo的一个字符串),该字符串必须符合客户端javascript语法

服务器端脚本先获取get过来的callback参数XXX,然后以这个callback值作为客户端函数名XXX({json数据})

这样就会在客户端浏览器中调用客户端中的javascript函数了,并且这个javascript函数可以获取服务器端传递过来的数据({json数据}),解决了javascript跨域

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值