ajax跨域getjsonp

2 篇文章 1 订阅
2 篇文章 0 订阅

最近研究了一下ajax跨域传输的问题,ajax跨域有两种方式,一种就是按getjsonp得方式,另一种就是post传输。

先来说一下getjsonp传输吧,getjsonp传输最重要的就是以下几点:

1:必须是get方式

2:数据类型必须是jsonp

3:就是ajax必须加上jsonp: "callback",回调

4:同样的也要在服务端加上回调

下边直接上代码

前端ajax代码

<script >
$(document).ready(function() {
    $('#submit').click(function(){
        var j = $("form").serializeArray();
        //var data = JSON.stringify($("form").serialize()));
        console.log(j);
        $.ajax({
            type:"GET",
            url:"http://localhost1/api",
            data:j,
            jsonp: "callback",
            dataType: 'jsonp',
            success:function(data) {              
                $('.result').show();
                $('.result').text(data.email);
            }
        });
        return false;
    });
});
</script>

后端服务端代码:

function index(Request $request){
    $callback = isset($_GET['callback']) ? trim($_GET['callback']) : '';//get jsonp方式
    $data = $request->all();
    $data['xxx'] = [1,1,2];
    return $callback.'('.json_encode($data).')';
    }

后端返回数据的时候一定要加上回调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值