0

当我在 Chrome 检查器中查看 test.php 发送的标头时,它说action : startjson但我无法检索此变量$_GET['action'],数组为空。

测试.php:

<body>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

    <script language="JavaScript">
    $(document).ready(function(){

    $("#testjson").click(function(e){
        startJsonSession();
        return false;
    });

    function startJsonSession(){  
        $.ajax({
            url: "test2.php?action=startjson",
            cache: false,
            dataType: "json",
            complete: function(data) {
                username = data.username;
                alert(username);
            }

    });
    }

    }); 
    </script>
    <button id="testjson">
    toto
    </button>
</body>

测试2.php:

    <?php 
    if ($_GET['action'] == "startjson") { 
            startjsonSession(); 
        } 

        function startjsonSession() {
            $items = '';

            print json_encode(array(
                "username" => "bob",
                "items" => array(
                    "item1" => "sandwich",
                    "item2" => "applejuice"
                )
            ));
        }
4

1 回答 1

1

sucess 和 complete 之间有区别, complete 函数不接收 'data' 参数,因此如果您的操作依赖于数据,那么它将在那里不起作用。

Complete :完成回调选项触发,当请求完成时,无论是失败还是成功。它接收 jqXHR 对象,以及包含成功或错误代码的字符串。

Success :如果请求成功,则调用回调选项。它接收返回的数据、包含成功代码的字符串和 jqXHR 对象。

于 2013-10-18T14:58:04.920 回答