开发者社区> 问答> 正文

ajax跨域获得JSON数据的问题? 400 报错

ajax跨域获得JSON数据的问题? 400 报错 我在tuan.abc.com下边发起一个异步的ajax 请求 请求的URL 是以 abc.com 开头的,得不到 response回去的数据了,请问有什么别的方法么,,我按着百度上的方法试了一试 http://blog.csdn.net/ajun_studio/article/details/6633065,但是还是不行,大家如果有解决的办法,求教。

展开
收起
爱吃鱼的程序员 2020-05-30 23:35:25 729 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    相同根域的只需要设置document.domain,就可以通过iframe传递数据######能不能说得详细点呀?######在页面上建立一个隐藏的iframe,src指向外域。在iframe的load事件里面进行处理。######

    就是用文章中介绍的。jsonp。

    我给个例子给你kan

    function islogin(){
        var base_url = "http://www.abc.com/";
        var weidenglu = '<a | <a
        
        $.getJSON(base_url+'user/islogin?jsoncallback=?',{x:Math.random()},function(data){
            if(data.success){
                var htm = '欢迎您,<a class="fb accepted">'+data.username+'</a><a
                $("#user_info").html(htm);
            }else{
                $("#user_info").html(weidenglu);
            }
    	});
    }

    看以上代码,

    url中的jsoncallbank参数是必须的。应为jquery会返回函数ID传入,

    你在看下一php代码就知道了。

    public function islogin(){
            $jsoncallback = $_GET['jsoncallback'];
            if(!empty($_SESSION['userinfo']['username'])){
                //有昵称显示昵称,未设置昵称显示用户名
                $username = !empty($_SESSION['userinfo']['nick_name'])?$_SESSION['userinfo']['nick_name']:$_SESSION['userinfo']['username'];
                die($jsoncallback . "(" . json_encode(array('success' => true, 'username' =>$username)) . ")");
            }
            die($jsoncallback . "(" . json_encode(array('success' => false, 'msg' =>"未登录")) . ")");
        }

    2020-05-30 23:35:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载