2014-11-21 103 views
0

是否有可能從客戶端(通過ajax)獲取POST數據並在shell腳本中處理它?[Shell腳本]在shell腳本中獲取httpreqest POST

使用jQuery將數據發送到我的服務器側

$.ajax({ 
    url: "test.cgi", 
    type: "post", 
    data:{ 
     test: "123" 
    }, 
    dataType: "json" 
}); 

,我希望我可以處理數據(如「123」在樣品中)在我的shell腳本。

如果我使用GET,我可以用$QUERY_STRING在我的服務器端獲取數據,

,但我怕我發送到服務器是DATAS太多了,所以我用POST來代替。

我的服務器是Linux,我的shell腳本是Bourne Shell(從#!/bin/sh開始)。

還是有其他方法來處理這種情況?

謝謝先進!

編輯:

我呼籲test.html的網頁,並有輸入框,在輸入框中輸入用戶寫入「123」,然後點擊按鈕(不是type =「提交」,只需鍵入=」按鈕',因爲我想使用ajax,而不是使用表單,並讓網頁加載到服務器端網頁),該按鈕將運行POST到服務器端的ajax到服務器端cgi --- test.cgi

在測試中。 cgi,我想獲取客戶端POST的數據並進行處理(將數據'123'保存到一個文件中。

+0

它不清楚你需要什麼。你能說,這是輸入,這是我期待的輸出,這是我已經嘗試過,而不是工作。 – SMA 2014-11-21 09:54:45

回答

0

你用什麼發送POST是完全不相干的。如果您的shell腳本作爲常規CGI腳本被調用,POST數據將在標準輸入上可用。

#!/bin/sh 
cat >file 

也許你要添加的application/x-www-form-urlencoded容器,但在本質上解包,上面是所有需要做你的要求。

這裏是強制性的謹慎 - 你可能不會實際上想要使用shell腳本。請調查更安全,更強大,更專業的選擇。