简单代码跨域的两种解决方法

77 阅读1分钟

node.js中的简单跨域问题

在node.js的的res.end前添加一句代码

require('http').createServer((req, res) => {
    res.setHeader('Access-Control-Allow-Origin','*')
    res.end('访问成功')
}).listen(3000, function () {
    console.log('serve start...')
})

即可简单解决问题

PHP中的简单跨域问题

使用jq的jsonp解决,js代码为

<script src="./jquery-1.12.4.js"></script>
    <script>
        $.ajax({
            url: "http://localhost/php-serve.php",
            //必须get
            type: "get",
            //定义发送jsonp请求
            dataType: 'jsonp',
            //可以更改定义的callback名称,但是php中也要修改成相对应的函数名
            jsonp: 'callback',
            //指定jsonp发送的回调函数名(可以任意起名字,无需对应)
            jsonpCallback: 'callbackfun',
            success: function (res) {
                console.log(res);
            }
        });

    </script>

php代码为

<?php
    header("Content-type: text/html;charset=utf-8");
    $callback=$_GET['callback'];
    echo $callback.'("访问成功")';
?>