0

ボタンを押した後、次の警告が表示され、フォームが複製されます。コードにエラーはありますか?

http://divran.com/s/upload/images/fso5xclhcdpbwamj153s.gif

           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=windows-1254" />
            <script src="jquery-ui-1.10.0.custom/jquery-1.9.1.min.js" type="text/javascript"></script>
            <title>jquery AJAX</title>
            <script language="javascript">
                $(document).ready(function(){
                            var name    = $("#name").val();
                            var sname   = $("#sname").val();
                            var email   = $("#email").val();

                        $("#b1").click(function(){          
                            $.ajax({
                                type    :"POST",
                                URL     :"save.php",
                                data    :"name="+name+"&sname="+sname+"&email="+email,
                                dataType:"text",
                                success :function (data, textStatus, jqXHR) {                           
                                            if (data == 'success'){
                                                $("#res").html("sonuc :"+data); 
                                            }else{
                                                $("#res").html(data +":"+textStatus+":"+jqXHR);
                                                }
                                }
                            });             
                        }); 
                    });

            </script>
            </head>
            <body>
            <input type="text" id="name"/><br />
            <input type="text" id="sname"/><br />
            <input type="text" id="email"/><br />
            <button id="b1">send</button>
            <div id="res"></div>
            </body>
            </html>
4

1 に答える 1

0

それはそれがすることになっていることを正確にやっています。エラーはこの部分にあります:

success :function (data, textStatus, jqXHR) {                           
    if (data == 'success'){
        $("#res").html("sonuc :"+data); 
    }else{
        $("#res").html(data +":"+textStatus+":"+jqXHR);
    }
}

このコールバックは、AJAX呼び出しが成功するたびにトリガーされますが、dataキーがに等しいかどうかを確認しますsuccess。これはそうではないため、else句がトリガーされます(スクリーンショットを参照)。あなたが実際にチェックしようとしているのtextStatusは、代わりに成功したかどうかだと思います。したがって、次を置き換えます。

if (data == 'success'){

これとともに:

if (textStatus == 'success') {

sonuc :その結果、データが続くはずです。

ただし、if / else全体は実際には役に立たないことに注意してくださいsuccess。これは、AJAXリクエストが成功した場合にのみ返されるコールバックであるためです。あなたはこれを置きたいかもしれません:

$("#res").html(data +":"+textStatus+":"+jqXHR);

エラーコールバックに入ると、次のようになります。

success: function (data, textStatus, jqXHR) {                           
    $("#res").html("sonuc :"+data); 
},
error: function (jqXHR, textStatus, errorThrown) {
    $("#res").html(data +":"+textStatus+":"+jqXHR);
}
于 2013-02-13T14:49:51.287 に答える