javascript使用jsonp数据跨域传输获取,这样传输不受限制,没有像xhr那样必须先设置header()才行,但这样跨域会有风险比如恶意代码

//getmsg.php文件,这里的域名为www.xuejq.mm/getmsg.php

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

</body>
</html>

//这里是www.cssxue.mm/flighthandler.php文件,这里是存储jsonp数据

//其实这个文件可以是任何后缀,js,json,jsonp,php,asp,aspx后缀的都可以

php 复制代码
flightHandler({
    "code":"CA1998",
    "price":1780,
    "tickets":5
});
相关推荐
ttwosix6 分钟前
JavaEE初阶 多线程:单例模式 | 阻塞队列
java·开发语言
独立开发之道7 分钟前
【Three.js教程】 图元速查:官方内置的立体图形
开发语言·javascript·ecmascript
Htr_9 分钟前
Python面向对象编程:类与对象基础
开发语言·python
RD_daoyi10 分钟前
谷歌改写了76%的标题:超60字符的,95%会被谷歌自己重写
大数据·服务器·开发语言·前端·搜索引擎·html
weixin_3077791311 分钟前
AI生成代码的隐患与治理:人工审查流程及提示词驱动的修复策略
开发语言·人工智能·算法
Java后端的Ai之路15 分钟前
09、Python组合模式
开发语言·人工智能·python·docker·组合模式
Escalating_xu21 分钟前
【C++入门基础(上)】从发展历程、学习路线到命名空间与输入输出
开发语言·c++
jimy123 分钟前
C++ 中的rValue的判断---是否能“隐式移动”
开发语言·c++
xxy2224126 分钟前
TCP 网络编程(3):从基础通信到并发服务器与 HTTP 实战
开发语言·php
Discipline~Hai33 分钟前
Linux应用软件编程04-线程
linux·服务器·c语言·开发语言·linux应用软件编程