夺命雷公狗jquery---62通过$.getJSON来解决Ajax跨域请求问题

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="js/jquery.js"></script>
        <script>
            //页面载入事件
            $(function(){
                //绑定相关的事件
                $('#btnok').bind('click',function(){
                    //发送ajax
                    $.getJSON('http://www.test.com/ajax.php?fn=?',function(msg){
                        $(msg).each(function(im,item){
                            var id = item.id;
                            var username = item.username;

                            $('#result').append(id+'----'+username+'<hr />');
                        });
                    });

                });
            });
        </script>
    </head>
    <body>
        <input type="button" id="btnok" value="获取数据" />
        <hr />
        <div id="result"></div>
    </body>
</html>

 

 

PHP代码如下所示:

 

 

<?php
    
    $fn = $_GET['fn'];

    //链接数据库(CRM客户关系管理系统接口)
    mysql_connect("localhost",'root','');
    mysql_query('use xsphp');
    mysql_query('set names utf8');

    //组装sql语句
    $sql = "select * from admin";
    $res = mysql_query($sql);
    $data = array();
    while($row = mysql_fetch_assoc($res)){
        $data[] = $row;
    }
    $str = json_encode($data);
    echo $fn."($str)";  //这里如果加上单引号就会变成字符串类型,不加单引号他就会变成OBJ类型(也就是一个数组)

 

其实get方法和getJSON方法是差不多的,只不过是在jquery里面封装了getjson方法而已...

 

虽然我们可以在jQuery通过以上方案解决跨域问题,但在实际项目开发中,跨域并不是万能的,如果想实现跨域请求,那么第三方服务器端页面,必须组装出如下结构:

 

跨域我们一般都是用在公司内部,和少数的接口

posted @ 2015-11-03 13:51  夺命雷公狗  阅读(176)  评论(0编辑  收藏  举报