ajax跨域getjsonp

最近研究了一下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).')';
    }

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/star_hacker/article/details/51813820
个人分类: 跨域 ajax php getjsonp
下一篇ajax跨域post方式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭