51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1894|回复: 0
打印 上一主题 下一主题

[原创] JS----Jsonp 简单使用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-8 14:56:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Jsonp 简单使用

客户端 - 直接提交:getJSON:
  1. $.getJSON("http://127.0.0.1/test.php?jsoncallback=?&t=5555&name=jack", function(data){
  2.     console.log(data)
  3.     console.log(data.name)  
  4. })
复制代码

客户端 - ajax提交:
  1. $('#form').on('submit', function(event) {
  2.     window.event.returnValue = false;

  3.     $.ajax({
  4.         url: "http://127.0.0.1/test/t1.php?t=5555",       // 服务器地址要注意是ipv4的,ipv6测试暂时没成功。
  5.         data:{name:'jack', age:$("[name='age']").val()},  // 传递数据
  6.         type: "POST",                                     // get/post都可以的请求方式
  7.         async: false,                                     // 是否同步,false为异步加载        
  8.         dataType: "jsonp",                                // 设置返回数据类型jsonp      
  9.         jsonp: "jsoncallback",                            // jsonp的字段,服务器返回的前缀要和这个一样
  10.         success: function (data) {
  11.             console.log(data)   
  12.             // console.log(data[0].name)

  13.             // 取数据:遍历数据
  14.             var ul = '<ul>';
  15.             // data为获取的数据,记得给服务器设置charset=utf-8;否则返回中文乱码
  16.             $.each(data, function (i, v) {
  17.                 ul += '<li>' + v.name + '</li>';
  18.             });

  19.             ul +='</ul>';


  20.             $("#result").append(ul);

  21.         },
  22.         error: function () {
  23.             console.log('fail');
  24.         }
  25.     });
  26. })
复制代码


服务端:
  1. header("Content-type:text/html;charset=utf-8");

  2. // htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
  3. // 获取回调函数名
  4. $jsoncallback = isset($_REQUEST['jsoncallback']) ? htmlspecialchars($_REQUEST['jsoncallback']) : '';

  5. // 方式1:json数据
  6. $jsonData1 = '[{name:"jack"},{name:"tom"}]';

  7. // 方式2:获取数据. 主意要为$_GET
  8. $jsonData2 = json_encode($_GET);

  9. // 输出json数据
  10. echo $jsoncallback . "(" . $jsonData1 . ")";
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 15:07 , Processed in 0.065372 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表