2

次のようなフォームがあるとします (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 の形式で送信されますが、通常、キーと値のペアには等号がありません。

ここで何が起こっているのか - 動作しますが、私には意味がありません。丸暗記で学んだコードを打ち込むのは嫌いです。

4

2 に答える 2

0

問題はあなたのコードにあります
var data = 'uname=' + name;
use
var data = '{uname:' + name + '}';
post メソッドなので

于 2013-04-15T12:37:40.943 に答える