2015-12-07 60 views
0

我已經看到很多帖子貼近這個,但不是特別的,所以我仍然會問。我有一個簡單的網頁,用於將值傳遞給服務器,然後根據值將響應傳遞給原始網頁。現在爲了測試的目的,我只是使用最終值的警報。Ajax使用GET到PHP

我的客戶端代碼如下submitAjax.php:

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="./jquery-2.1.4.js"></script> 
     <script> 
      $(document).ready(function() { 
       $("#thisForm").submit(function() { 
        processData(); 
       }); 

       function processData() { 
        $.get('ajaxSubmit.php', function(data) { 
         alert(data); 
        }); 
       } 
      }); 
     </script> 
    </head> 
    <body> 
     <form method="get" id="thisForm"> 
      <tr>  
       <td><input type=text name=box ></td>    
       <td><input type=submit value=Add></td> 
      </tr> 
     </form> 
    </body> 
</html> 

服務器端ajaxSubmit.php:

<?php 
$value=$_GET["box"]; 
if ($value==2){ 
    echo "This is the returned text.".$value; 
}else{ 
    echo "not sent"; 
} 
?> 

正如你可以從代碼中看到,我試圖打印文本「這是返回的text.2」作爲輸出,但是當我在文本框中輸入「2」時,返回「未發送」的失敗案例。

任何幫助將是偉大的。我對所有事情都非常陌生,所以請指出我做錯的其他事情。

回答

1

當你要求ajaxSubmit.php時,你沒有傳遞任何東西。

$.get('ajaxSubmit.php?box=' + $("[name='box']").val(), function(data) { 
    alert(data); 
}); 

所以,你想要求,ajaxSubmit.php?box=value,其中值命名爲box html元素的值。

+1

謝謝!這讓它工作。對於這種工作方式我仍然有點困惑,但我會盡力理解工作流程。 – mando222