2017-01-31 67 views
0

首先,我知道有關於這個在stackoverflow上的多個主題,我讀了大多數,但我仍然無法弄清楚爲什麼以下不工作。使用AJAX將提示數據從javascript傳遞到php

所以我有這樣的形式:

echo "<td> <form action=\"admin.php\" method=\"GET\" onsubmit=\" modifyPassword();\"> 

這是modifyPassword功能:

function modifyPassword(){ 
    var newpw=prompt("Enter a new password"); 
    if(newpw !== null){ 
    $.ajax({ 
      type: "GET", 
      url: "admin.php", 
      data: newpw, 
      success: function(data) 
      { 
       console.log(data); 
      } 
      }); 
      }} 

而且當表單實際提交我想從什麼是類型化的價值像這樣:

echo $_GET['data']; 

這些都在同一個文件中。 $ _GET ['data']的輸出不顯示任何內容。

有人能告訴我我做錯了什麼嗎?

//編輯,更多的代碼: 我使用多種形式,所以這裏是處理表單的代碼:

}elseif (isset($_GET['Modify'])){ 


     echo $_GET['data']; 

形式本身:提供了

echo "<td> <form action=\"admin.php\" method=\"GET\" onsubmit=\" modifyPassword();\"> 
         <input type='hidden' name='counter' value=\"$count\"/> 
         <input type=\"submit\" value=\"Modify\" name=\"Modify\"/> 

功能:

<script type="text/javascript"> 
         function modifyPassword(){ 

          var newpw=prompt("Enter a new password"); 
          if(newpw !== null){ 
           $.ajax({ 
            type: "GET", 
            url: "admin.php", 
            data: {data: newpw}, // passing a key/value pair 
            success: function(data) 
            { 
             console.log(data); 
            } 
           }); 
          }} 
         </script> 
+0

如果答案解決了您的問題,請考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告知社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。您將獲得積分,其他人將被鼓勵幫助您。 *歡迎使用Stack!* –

+0

[您是否觀看過瀏覽器開發人員工具中的AJAX請求/響應?你有沒有在項目中包含jQuery庫?是否有任何錯誤報告?你在網絡服務器上運行這個嗎?](http://jayblanchard.net/basics_of_jquery_ajax.html) –

回答

1

data: newpw,應該data: {data: newpw},這將導致填充$_GET['data']。在這種情況下,'數據'成爲關鍵,而'newpw'是值。

function modifyPassword(){ 
    var newpw=prompt("Enter a new password"); 
    if(newpw !== null){ 
     $.ajax({ 
      type: "GET", 
      url: "admin.php", 
      data: {data: newpw}, // passing a key/value pair 
      success: function(data) 
      { 
       console.log(data); 
      } 
     }); 
    }} 

我會認爲你不應該使用具有相同名稱的這麼多的變數 - 只是爲了讓事情缺陷尋找時減少混亂。

+0

當我使用var_dump或echo $ _GET ['data]時,它仍然給我NULL。我應該發佈更多的代碼或什麼? – Arjan

+0

發佈您的PHP代碼。 –

+0

我做到了,它沒有那麼多。但如果我加上它所有的大亂子:p我想我只是補充說相關 – Arjan