2012-10-27 30 views
1

我一直在試圖找到最近幾個小時的問題,但沒有解決方案。 我遇到了以下AJAX發佈請求的問題。非常簡單的jQuery AJAX發佈問題

$("#about_button").click(function(e) 
    { 
     var about = $("#input_about").val(); 
     $.ajax 
     ({ 
      type: 'POST', 
      url: location.href, 
      data: { 
        'about' : about, 
       }, 
      success: function(message) 
      { 

      }, 
      complete: function(message) 
      { 
       alert(about); 
      } 
     }); 
     e.preventDefault(); 
    }); 

這是代碼的html部分;

<textarea id="input_about" name="input_about"></textarea> 
<input type="button" id="about_button" class="button" value="Update" /> 

最後PHP部分在文件的開始處;

<?php 
require_once("headers.php"); 
if(isset($POST["about"])) 
{ 
    $data= $POST["about"]; 
    $database->query("UPDATE hakkimizda set icerik='$data'"); 
    echo '<script type="text/javascript">alert("dsdsfdsdfsf"); </script>'; 
} 
?> 

當我點擊提交按鈕,它進入完整功能和警報數據,但它看起來像的頁面永遠不會接收到請求消息。 我不會如果它與我的問題有關,但我在本地主機上使用WAMP。

+0

剩下的html怎麼辦?表單標籤?什麼是動作屬性? –

回答

4

它的$_POST["about"]不是$POST["about"]也如你所願,你打開sql注入。

+0

我不敢相信我犯了這樣的錯誤,花了數小時試圖找出問題:)現在工作正常。我在真正的代碼中使用mysql_real_escape_string只是不想在這裏發佈它,以保持代碼簡單。 – user1778459

+0

它可能發生,我的建議是啓用錯誤報告和顯示錯誤,然後它會告訴你$ POST是未定義的,因爲你正在用ajax訪問它,你可能沒有看到錯誤,因爲你不輸出任何東西。快樂編碼:) –

+0

對於JavaScript錯誤,使用Firebug或Chrome控制檯。 – Oskar