一、什么是跨域Ajax问题

所谓跨域,是指在当前域名下向其他域名发送请求、获得返回信息,浏览器允许scrip src、img src、iframe src跨域,浏览器的同源策略不允许Ajax跨域

同源策略机制:本域html可发送Ajax请求到跨域服务器,跨域服务器正常返回请求数据,但是数据返回本域浏览器时被拒绝接受,

因此,在需要进行ajax跨域的时候,便引出了跨域Ajax的问题,


  二、跨域Ajax被拒绝实验

1、创建两个项目,分别设置不同域名,模拟不同域

  

2、两个项目分别设置不同端口

3、发送跨域Ajax请求

4、报错

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
    <input type="button" value="ajax" onclick="DoAjax();" />
    <script src="sss/jquery-1.12.4.min.js"></script>
    <script>
        function DoAjax(){
            $.ajax({
                url:"http://ajax2.com:8888/index",
                type:"POST",
                data:{'k1':'v1'},
                success:function(arg){console.log(arg);},
            });
        }
    </script>
    <!--&lt;!&ndash;浏览器允许scrip、img、iframe等标签中的src跨域,发送的是get请求&ndash;&gt;-->
    <!--<script src="http://ajax2.com:8888/statics/jquery-1.12.4.min.js"></script>-->
    <!--<script>-->
        <!--function DoAjax(){-->
            <!--alert("hi");-->
        <!--}-->
    <!--</script>-->
</body>
</html>
View Code