2014-03-24 172 views
-2

我無法將值或值數組傳遞到我的PHP腳本中。當點擊頁面上的提交按鈕,下面的函數執行:無法將值傳遞給PHP函數

$('#rangeSubmit').click(function (e) { 
     e.preventDefault(); 
     $.ajax({ 
      type: 'POST', 
      url: 'http://.../test.php', 
      data: {test1:"DONE"}, 
      success: function(data) 
      { 
       $("#myDiv").html(data); 
      } 
    }); 
}); 

PHP腳本是這樣的:

<?php 

    echo $argv[1]; //should return the first item in the array of values passed to the php function? 
    var_dump($_SERVER['argv']); 

?> 

而且這個腳本只是返回「NULL」,而不是我發送的值到腳本。有任何想法嗎?

+4

你的價值將被存儲在'$ _POST' –

+2

有存在 –

+0

一個Ajax請求沒有PHP函數是一個普通的HTTP請求時,它是完全一樣的鍵入網址到瀏覽器的地址欄中。你通常不會使用'$ argv',你會嗎? – deceze

回答

2

$ ARGV [1]是參照參數從命令行傳遞,如:

php page.php argument 

這個調用page.php文件與 「參數」 作爲參數比用$的argv [1] acessible。

要獲得發佈變量使用$ _POST [$ name]。在你的情況下使用:

echo $_POST['test1']; 
1

試;)

<?php 
    echo $_POST['test1'];  
    var_dump($_POST); 
?> 
0

使用POST

type: 'POST', --->POST REQUEST 

var_dump($_POST['test1']); 
+0

沒有'argv'出現 –

+0

是啊糾正它 –

+0

@feroz,今天艱難的人羣,剛剛投票給你。祝你好運1K! –

1

使用$_POST['test1'];test.php獲得通過的jQuery傳遞的值。

1

骯髒的,但可能會有幫助,如果你的PHP安裝允許的話,你可以簡單地嘗試使用EXEC()。在接收腳本中,提取POST參數並將它們格式化爲一個命令字符串,然後將其傳遞給exec()以運行。

$filein =$_POST[$arg1]; 
$fileout =$_POST[$arg2]; 

$return=exec("php target.php -i $filein -o $fileout ");