-3

データを php スクリプトに送信し、このデータを自分のページに投稿するフォームを作成したいと考えていました。これは私のページです

<!DOCTYPE html>
<html>
    <head>
        <title>AJAX POST</title>
        <script src="jquery.js"></script>
        <script>
            $(document).ready(function(){
                $("input[name="submit"]").click(function(){
                    var username=$("input[name="username"]").attr("value");
                    var password=$("input[name="password"]").attr("value");
                    var data1=encodeURIComponent(username);
                    var data2=encodeURIComponent(password);
                    $.post("response.php",data1+"&"+data2,function(data){
                        $("#form").hide();
                        $("#response").html(data);
                    });
                });
            });
        </script>
    </head>
    <body>
        <div id="form">
            <form action="response.php" method="post">
                <input type="text" name="username" value=""/><br/>
                <input type="password" name="password" value=""/><br/>
                <input type="button" name="submit" value="submit"/>
            </form>
        </div>
        <div id="response"></div>
    </body>
</html>

これは、response.php という名前のサーバー側スクリプトです。

<?php
    echo $_POST["username"]."<br/>";
    echo $_POST["password"];
?>

期待した結果が得られません。助けてください!

4

4 に答える 4

4

key/val ペアでデータを送信します。

$.post("response.php", {username: data1, password: data2} ,function(data){
    $("#form").hide();
    $("#response").html(data);
});

パスワードをプレーンテキストで保存しない方が良い... :D

于 2013-09-12T14:19:35.833 に答える
2

私はこう思います:

.post("response.php",data1+"&"+data2,function(data){

次のようにする必要があります。

$.post("response.php",data1+"&"+data2,function(data){
于 2013-09-12T14:18:29.263 に答える
2

ブラウザのコンソールを使用して自分で見つけたはずの構文エラーがあります。

たとえば、変更

$("input[name="submit"]").click(function(){

$('input[name="submit"]').click(function(){

ここでお気づきかもしれませんが、構文の強調表示を備えたエディターも役立ちます。

于 2013-09-12T14:18:59.117 に答える
0

おそらく$、次の通話に参加していないためです。

$.post("response.php",data1+"&"+data2,function(data){

$("#form").hide();
$("#response").html(data);

});
于 2013-09-12T14:21:59.297 に答える