簡體   English   中英

Ajax和PHP-意外行為

[英]Ajax and PHP - unexpected behaviour

我正在使用ajax將請求發送到php頁面,該頁面設置cookie並使用echo函數將消息發送回瀏覽器。 但是問題是php成功設置了cookie,但是我沒有在echo中收到消息。 我已經在控制台上記錄了XMLHTTPRequest對象以確認這一點。

這是php代碼:

    <?php header("Access-Control-Allow-Origin: *");
    session_start();
    // echo "true"; - If I put the echo here , I get the response.
    if(isset($_POST['init'])){
        $x00 = universe::decode($_POST['init']);// Just a static function call of object Universe.
        $_SESSION['id'] = $x00['id'];
        echo "true"; // This echo does not appear in the response.
    }
    ?>

但是responseText不是undefined,它是一個空字符串。 看看Pic。 Chrome開發工具。

找到了問題,謝謝大家的幫助。

我本來要做的是將json數據字符串化,並作為普通的發帖請求發送並期望它能正常工作,但是由於某種原因,它沒有。

我編寫了一個函數,該函數將發布請求發送到服務器。

ajax.send(x); //Send is a function of the object ajax , x is the payload.

param = {"id": "qbcd"} //json data
param=JSON.stringify(ajax.param); // converted to string.
ajax.send("init="+param); // This will send a post request to the server.

我以為它將發送init為字符串的post請求,然后可以使用$ _POST ['init']訪問該字符串並在其上使用json_decode。 但是由於某種原因,有效負載僅包含經字符串解析的json(已通過Chrome開發工具進行了檢查),因此現在我們必須使用$ _POST [0]訪問它,即訪問post數組的第一個元素,然后對其進行解析。 現在,Post不是關聯數組(為什么是idk)。

感謝您的評論:)喜歡stackoverflow。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM