jsonp跨域

谁借莪1个温暖的怀抱¢ 2022-07-15 13:52 338阅读 0赞

我是做的一个跨站显示信息!!

鄙人文化不高,代码不严谨,仅供参考!

题目:用户在a站访问过的商品足迹可以在登录b站之后查看足迹!

首先创建两个域名www.a.com/www.b.com

他们分别访问a站以及b站

a站:创建php文件

shop.php

  1. <?php
  2. header("content-type:text/html;charset=utf8");
  3. $pdo=new PDO('mysql:host=localhost;dbname=item',"root","root");
  4. $pdo->exec('set names utf8');
  5. $sql="select * from goods";
  6. $list=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  7. ?>
  8. <table>
  9. <tr>
  10. <td>ID</td>
  11. <td>名称</td>
  12. <td>介绍</td>
  13. </tr>
  14. <?php foreach ($list as $key => $val) {
  15. ?>
  16. <tr>
  17. <td><?php echo $val['goods_id']?></td>
  18. <td><a href="goods.php?goods_id=<?php echo $val['goods_id']?>"><?php echo $val['goods_name']?></a></td>
  19. <td><?php echo $val['goods_desc']?></td>
  20. </tr>
  21. <?php }?>
  22. </table>
  23. goods.php <?php
  24. header("content-type:text/html;charset=utf8");
  25. $goods_id=$_GET['goods_id'];
  26. if (isset($_COOKIE['goods_id'])) {
  27. $str=$_COOKIE['goods_id'];
  28. $data=unserialize($str);
  29. $data[]=$goods_id;
  30. setcookie("goods_id",serialize($data));
  31. }else{
  32. $data=array();
  33. $data[]=$goods_id;
  34. setcookie("goods_id",serialize($data));
  35. }
  36. $pdo=new PDO('mysql:host=localhost;dbname=item',"root","root");
  37. $pdo->exec('set names utf8');
  38. $sql="select * from goods where goods_id=$goods_id";
  39. $goods=$pdo->query($sql)->fetch(PDO::FETCH_ASSOC);
  40. //var_dump($goods);
  41. ?>
  42. <h3><?php echo $goods['goods_name']?></h3>
  43. <p><?php echo $goods['goods_desc']?></p>

callback.php

  1. <?php
  2. //header("content-type:text/html;charset=utf8");
  3. $pdo=new PDO('mysql:host=localhost;dbname=item',"root","root");
  4. $pdo->exec('set names utf8');
  5. //接callback
  6. $callback=$_GET['callback'];
  7. //echo $callback;die;
  8. //查询数据
  9. if (isset($_COOKIE['goods_id'])) {
  10. //查询cookie
  11. $data=unserialize($_COOKIE['goods_id']);
  12. $str=implode(",", $data);
  13. $sql="select goods_name,goods_id,goods_desc from goods where goods_id in ($str)";
  14. //print_r($sql);die;
  15. $list=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  16. }else{
  17. //查询数据库点击量
  18. $sql="select goods_name,goods_id,goods_desc from goods order by click_count desc limit 5";
  19. $list=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  20. }
  21. $str=json_encode($list);
  22. echo $callback."(".$str.")";
  23. ?>

b站

news1.php

  1. <?php
  2. //header("content-type:text/html;charset=utf8");
  3. $pdo=new PDO('mysql:host=localhost;dbname=item',"root","root");
  4. $pdo->exec('set names utf8');
  5. //接callback
  6. $callback=$_GET['callback'];
  7. //echo $callback;die;
  8. //查询数据
  9. if (isset($_COOKIE['goods_id'])) {
  10. //查询cookie
  11. $data=unserialize($_COOKIE['goods_id']);
  12. $str=implode(",", $data);
  13. $sql="select goods_name,goods_id,goods_desc from goods where goods_id in ($str)";
  14. //print_r($sql);die;
  15. $list=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  16. }else{
  17. //查询数据库点击量
  18. $sql="select goods_name,goods_id,goods_desc from goods order by click_count desc limit 5";
  19. $list=$pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  20. }
  21. $str=json_encode($list);
  22. echo $callback."(".$str.")";
  23. ?>

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读

    相关 jsonp

    首先我们来说说什么是跨域       跨域:是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。但

    相关 jsonp

    我是做的一个跨站显示信息!! 鄙人文化不高,代码不严谨,仅供参考! 题目:用户在a站访问过的商品足迹可以在登录b站之后查看足迹! 首先创建两个域名www.a.com

    相关 jsonp

    jsonp跨域 Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src这个属性的标签都拥有跨域的能力,比如`<script>、<img>、<

    相关 JSONP和CORS

    什么是跨域? 跨域:指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器的安全限制! 同源策略 同源策略:域名、协议、端口均相同。 浏览器

    相关 jsonp

    域指的就是域名。 域名对应的是一个IP地址。 域名与IP地址的对应关系存储在域名服务器上。(DNS)   所谓跨域     1.就是跨域名,跨端口,跨协议