简单ajax跨域请求

实现AJAX跨域请求

 

最近遇到需要ajax跨域的需求

首先看下不做任何处理特别处理的ajax跨域请求会出现什么样的错误

客户端代码:

<script type="text/javascript">
    $.ajax({
        url: 'http://localhost/test/respone.php',
        type: 'get',
        dataType: 'json',
        success:function (res) {
            console.log(res);
        }
    });
    
</script>

服务端代码:

<?php
echo json_encode(['name'=>'ogq','age'=>18]);

?>

运行结果:

提示:Failed to load http://localhost/test/respone.php: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://my.com' is therefore not allowed access.错误

这是因为浏览器ajax不能跨域造成的,下面是我查找资料后简单做的一个ajax跨域请求与返回

客户端代码:

<script type="text/javascript">
    $.ajax({
        url: 'http://localhost/test/respone.php',
        type: 'get',
        dataType: 'jsonp',
        success:function (res) {
            console.log(res);
        }
    });
    
</script>

  没错,只是将dataType:"json" 改成了“jsonp”,

然后是服务器端代码:

<?php

echo $_REQUEST['callback'],'('.json_encode(['name'=>'ogq','age'=>18]),')';
?>

  在请求一次,输出结果

这样就能正常跨域了

ps:没有深究,能正常使用就可以了。嘻嘻

 

转载于:https://www.cnblogs.com/ouguangqiang/p/9176803.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值