2013-12-16 42 views
0

我學習jquery.ajax,但我不明白的東西將數據發送到jQuery的阿賈克斯擔任

<html> 
<head> 
<title>the title</title> 
<script type="text/javascript" 
src="/jquery/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" language="javascript"> 
$(document).ready(function() { 
    $("#driver").click(function(event){ 
     var cacat = $("#nam").val(); 
     $("#stage").load('/jquery/result.php', {"name":cacat}); 
     alert(cacat); 
    }); 
}); 
</script> 
</head> 
<body> 
    <p>Enter your name and click on the button:</p> 
    <input type="input" id="nam" size="40" /><br /> 
    <div id="stage" style="background-color:blue;"> 
    STAGE 
    </div> 
    <input type="button" id="driver" value="Show Result" /> 
</body> 
</html> 

這裏是PHP文件

<?php 
if($_REQUEST["name"]) 
{ 
    $name = $_REQUEST['name']; 
    echo "Welcome ". $name; 
} 
?> 

我不明白這是什麼$("#stage").load('/jquery/result.php',{"name":cacat}); ,因爲它也與$("#stage").load('result.php', cacat);

所以這裏出現的問題: 有什麼區別{"name":cacat}cacat?同樣,兩個腳本都做同樣的事情,jQuery獲取輸入的值,PHP也獲取輸入的值,爲什麼呢?

+0

你是否在'.load()'上紅色文檔?看來你需要使用'.ajax()'來代替。 http://api.jquery.com/jQuery.ajax/ – TCHdvlp

+0

我正在關注一個教程,能否請你提出爲什麼使用'.ajax()'而不是'.load()'? – user2979622

回答

0

區別在於第一個發送的JSON對象獲取到$_REQUEST,而另一個發送該值,沒有JSON形式。

+0

不,區別在於'.load()'只加載內容,它不會向服務器發送任何數據或變量。 – TCHdvlp

+0

事實上,你是對的,但我有我的Apache服務器的問題,它不會上傳我的文件,所以它顯示了我相同的結果。 jsonObject是一個(鍵,值)對象,所以鍵必須與輸入ID相同?並且'$ _REQUEST ['key']的結果就是這個值。 如果我錯了,請糾正我。 – user2979622