2012-08-31 60 views
0

我試圖將'值'傳遞給'prova.php'頁面,以便動態地進行mysql查詢。但是這不起作用..我應該添加什麼?所有php開放標籤下的東西都必須是動態的:不加載頁面。這裏是我的prova.php文件的代碼:發送jQuery值到PHP

<!DOCTYPE html> 
    <html> 
    <head> 
     <script src="http://code.jquery.com/jquery-latest.js"></script> 
    </head> 
    <body> 

     <div id="single"> 
     <input type="text" value="test test"/><br /> 
    </div> 
    <p></p> 

    <div id="fo">focusout fire</div> 
    <div id="b">blur fire</div> 

    <script> 

    var fo = 0, b = 0; 
    $("#single").focusout(function(e) { 
     fo++; 
     $("#fo") 
     .text("focusout fired: " + fo + "x"); 
     var value = (e.target.value); 
     alert(value); 

    $.ajax({ 
     type: "POST", 
     url: "prova.php", 
     data: { temp: value } 
    }) 
    /*$.ajax({ 
      url: 'prova.php', 
      type: 'POST', 
      data : "temp = 100", 
      success: function(data) { 
      alert('Load was performed.'); 
      } 
     });*/ 
    }) 

    </script> 
    <?php 
    $link = mysql_connect('localhost', 'root', ''); 
    if (!$link) { 
     die('Could not connect: ' . mysql_error()); 
    } 
    echo 'Connected successfully'; 
    mysql_select_db("test"); 
    //if(isset($_POST['id'])) 
    $value=$_POST['temp']; 
    echo $_POST['temp']; 
    $sql=mysql_query("SELECT * FROM articles WHERE id='$value'"); 
    if(!$sql) 
    echo"ERROR: Invalid Query!"; 
    $row=mysql_fetch_array($sql); 
    $articleText=$row["text"]; 
    echo$articleText; 

    ?> 
    </body> 
    </html> 
我已經搜索了使用jQuery的GET和POST的API,但沒有結果

。我認爲我應該在ajax下添加更多的東西,但我不知道是什麼! php代碼應該在ajax下執行,但我對ajax和jquery不是很保密:我第一次使用它們。

+0

您可以添加AJAX的另一件事是成功的功能,將告訴你的狀態你的結果 –

+0

你沒有對從ajax調用返回的值做任何事情。它可能工作,但你不會看到它。如果您使用firebug for firefox或safari/chrome中的開發人員工具,您可以在「Net」視圖中看到XHR請求,並觀察ajax調用是否至少有效。 –

+0

我會避免價值作爲變量的名稱,以防萬一。您是否觀看過Firebug或其他工具中AJAX請求的請求/響應週期?你會得到很多反饋。 –

回答

0

首先你發送的參數是錯誤的。你必須發送一個JavaScript對象格式(鍵:值對):

$.post("prova.php" ,{ 
    temp: 100 
},function(data){ 
//data "echo"-ed from script      
}); 

服務器端:

$data=$_POST['temp']; 
//do your stuff 
echo 'done'; 
+0

我建議在PHP部分不要直接訪問POST數據而不檢查 - 如果存在:) – h4cky

+0

使用JSON會更好地發送數據。 –

+1

@ilia可以這樣發送tat。如果你有1-2個屬性。但對於大量數據收集,JSON更適合您的方式。主要問題是他沒有檢查$ _POST數組中是否存在此鍵:) – h4cky