2011-09-16 37 views
1

我心目中是一個警告框,按下按鈕值傳遞給PHP中使用jQuery的AJAX

<html> 
<head> 
<script type="text/javascript" src="jquery-1.6.3.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 


    $("#btnSubmit").click(function(e){ 
    e.preventDefault(); 

    $.ajaxSetup ({ 
     cache: false 
    }); 

    dataString = $("#testform").serialize(); 

    $.ajax({ 
     type: "POST", 
    url: "test.php", 
    data: dataString, 
    success: function(data){ 
     alert(data); 
    } 
     }); 
    }); 


}); 
</script> 
</head> 


<body> 
    <form id="testform"> 
    <input type="text" name="jeds" value="jed" id="jedid"> 
    </form>  
    <input type="button" id="btnSubmit" value="submit">  
</body> 

後,映入眼簾的是在文本字段中指定的一個名稱的用戶test.php的

<?PHP 
     if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
     $name = $_POST['name']; 
     print "hello " . $name; 
     } 
    ?> 

林不知道爲什麼它不能趕上名稱。

+0

到底究竟是怎麼回事?你是否收到錯誤信息?彈出窗口但沒有名字? –

+0

執行'var_dump($ _ POST);'以瞭解更多信息。這將幫助您瞭解哪些數據從客戶端發佈到您的腳本。 – hakre

回答

2

變化

<form id="testform"> 
<input type="text" name="jeds" value="jed" id="jedid"> 
</form> 

<input type="button" id="btnSubmit" value="submit"> 

<form id="testform" method="post"> 
    <input type="text" name="jeds" value="jed" id="jedid"> 
    <input type="button" id="btnSubmit" value="submit"> 
</form> 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $name = $_POST['name']; 
    print "hello " . $name; 
} 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $name = $_POST['jeds']; 
    print "hello " . $name; 
} 
1
<input type="text" name="jeds" value="jed" id="jedid"> 

應該

<input type="text" name="name" value="jed" id="jedid"> 
1

我想你沒有提到的形式標記方法(默認情況下它是GET)。您正在從$ _POST請求變量。給方法名稱作爲後