2010-12-02 94 views
4

內整個身體後我跑XMLHttpRequest要求是這樣的:得到笨控制器

var data = JSON.stringify({ 
    name : "123", 
    id : 12 
}); 

window.console.log("Submitting: " + data); 
var req = new XMLHttpRequest(); 
req.open('POST', "http://localhost/index.php/lorem/ipsum", true); 
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
req.onreadystatechange = function() { 
    if ( req.readyState==4) { 
     window.console.log("Sent back: " + req.responseText); 
    } 
} 
req.send(data); 

你可以看到有沒有被傳遞名稱參數。

現在我想讀裏面lorem控制器ipsum功能JSON數據。 我該怎麼做? $this->input->post();返回false :(

回答

7

使用file_get_contents('php://input')

3

即使你把一個JSON對象轉換爲字符串你沒有指定的鑰匙串,所以什麼服務器端沒有標識爲您的字符串

你應該做的是:

req.send("json=" + data); 

然後在PHP中使用:

$this->input->post("json"); 

要接收數據,而不需要對KV,你可以使用標準輸入我想

http://php.net/manual/en/wrappers.php.php

甚至使用爲此目的設計的一個變量:

$HTTP_RAW_POST_DATA

+0

謝謝您的回覆!我知道我可以這樣做。我想知道是否有另一種方式,無標識符。可能會收到http請求正文。 – David 2010-12-03 10:13:25