JSONP

来源:互联网 发布:一般约束的最优化问题 编辑:程序博客网 时间:2024/06/16 00:43

jQuery中的JSONP:

<!DOCTYPE HTML>  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <title>无标题文档</title>   <script src="jquery-2.0.1.js"></script><script>      $.ajax({    type:"get",    url:"./data.php?",    dataType:"jsonp",    jsonp:"cb",    jsonpCallback:"fn",    async:true,    success:function (data) {     console.log(data[0]);}    });      </script>  </head>  
data.php

<?php$callback = $_GET['cb'];$arr = array("zhangsan","lisi","zhaoliu");echo $callback.'('.json_encode($arr).')';?>
jsonp:"cb",必须与php文件中$callback = $_GET['cb']保持一致,当jsonp参数没有写时,默认jsonp:"callback"
jsonpCallback:"fn",不写时默认jsonpCallback:"jQuery20302141954889198452_1513868557119",jQuery开头的独一无二序列。

function jQuery20302141954889198452_1513868557119(data){     success(data);}
当加载完data.php文件后,执行函数:
jQuery20302141954889198452_1513868557119(["zhangsan","lisi","zhaoliu"])
并且jQuery处理的get请求的缓存问题:

每次刷新页面,data.php问间的请求地址都会发生变化

jQuery文件使用的是缓存

第一次刷新

第二次刷新