假设我有这样的表格(取自一本关于 jquery 的书):
<body>
<form>
<label>Enter your Name</label>
<input type="text" name="uname" class="uname"/> <br/>
<input type="submit" id="submit"/>
</form>
<div id="message"></div>
</body>
和这样的ajax函数:
$(document).ready(function() {
$('#submit').click(function () {
var name = $('.uname').val();
var data = 'uname=' + name;
$.ajax({
type:"POST",
url:"welcome.php",
data: data,
success: function (html) {
$('#message').html(html);
}
});
return false;
});
});
脚本文件如下所示:
<?php
$name = $_POST['uname'];
echo "Welcome ". $name;
?>
它会起作用,但这是我无法理解的。如果welcome.php 脚本从POST 数组中获取$name 的值,为什么它需要通过ajax 请求将数据发送给它?POST 数组肯定已经包含该信息?
另外,我的理解是,ajax 请求是键/值对的形式,但数据以 uname=name 的形式发送,但键/值对通常没有等号。
这里发生了什么 - 它有效,但对我来说没有意义,我讨厌只是在我死记硬背中学习的代码中打孔。