支持跨域的html标签

html中的script、img的src属性支持跨区,浏览器对其没有限制
发送的请求都是get请求

script

1.script标签具有可跨域的特性,浏览器对它不限制
2.假设不加dataType:jsonp, jquery底层默认发送XMLHttpRequest请求。
当用dataType:jsonp,jquery底层创建了script标签,src=”跨域的地址”。
3.scrip标签的src中的地址和后缀也没关系,文件中指定text/javacript就可以了

    <!--这个script是函数,要写在上面,下面的script跨域获取到数据返回的是json(),需要调用json(),要是写在下一个script的下面就找不到了-->

        //script标签具有可跨域的特性,php返回的是json(),直接调用了这个函数
        //这个函数的目的就是为了获取服务端返回的数据,要执行的内容写在函数中就可以啦
        <script>
    function jsonp(data){
        //在服务端data是一个字符串,到客户端data转为了对象(script标签具有自动转换的功能)
        //若果是字符串的话,格式是这样的:{"name":"\u5f20\u4e09","age":10}
        //这样就获取了服务端的数据,在函数中就可以对服务端的数据进行操作了
        console.log(data);
    }

</script>
<script src="src-api.php?callback=jsonp"></script>

服务器端的数据模拟(script):

<?php

    header("Content-Type:text/html;charset=utf-8");

    $data = $_GET;

    //假设下面的数组是在服务端获取到的数据,需要把这个数据返回到客户端
    $array = array("name"=>"张三","age"=>10);

    //将对象转化为json格式的字符串
    $info = json_encode($array);

    echo $data["callback"]."(".$info.")";
?>

link标签

href去请求一个地址,和地址的后缀没有关系,
在php文件中已经告诉客户端服务器的文本类型了,浏览器以该文本类型去解析就行了

<head>
<meta charset="UTF-8">
<title>Title</title>
// 利用link的href属性跨域
<link rel="stylesheet" href="02link.php">

模拟的服务端php文件(link)

<?php
    //告诉客户端服务器的文本类型
    header("Content-Type:text/css;charset=utf-8");
    echo "body{background-color: red}"

    //若果客户端需要输出js文件的话,文本类型就是text/javascript
    //header("Content-Type:text/javascript;charset=utf-8");
    //echo "alert(1)";
?>

img

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值