0

なぜ起こっているのかわからないというばかげたエラーが発生しました。

基本的に、AJAXコード「テーブルPAGESが存在します」から戻り値を取得し、<p>宣言後に配置するとタグに出力できますが、。var response = data;内のIFステートメント内にある場合はどういうわけか何も出力されませんfunctionResponse

誰か教えてもらえますか?変数を間違って渡していませんか?

   $(document).ready(function(){


        function functionResponse (response){

            if (response == "The table PAGES exists"){
                $("p").html(response);



            } 
            } // close of functionResponse      

$("#iForm").submit( function(event){
    event.preventDefault();

    var user = $("input[name=username]").val();
    var password = $("input[name=password]").val();
    var dbName = $("input[name=dbName]").val();
    var server = $("input[name=server]").val(); 


        $.get("1.php", {username: user, password: password, dbName: dbName, server: server },function(data){

            var response = data;            



            functionResponse (response);

                        }) // close of .get


    })

})
4

2 に答える 2

1

トリミングは私の提案でうまくいったので、私は次の説明で答えとしてそれを入力しています。

get関数のreturnハンドラーは、pタグに値を割り当てることができました。これは、割り当てが空白を気にせず、特にhtmlを割り当てるため、ブラウザーが余分な空白をすべて無視するためです。

それを壊した関数に渡さず、文字列の比較でした。ブラウザはHTMLの空白を気にしないかもしれませんが、JavaScriptは文字列の比較を行うときに空白を大いに気にします。

テキスト

"This is some text"

"    This is some text    "

繰り返されるスペースは無視されるため、ブラウザがそれらをレンダリングするときに同じように表示されます。しかし、それらを見るだけで、それらが同じ文字列ではないことがわかります。Javascriptは、トリミングして指示しない限り、刺し傷の前後にある空白を無視しません。

于 2012-09-04T17:52:03.730 に答える
-1

「var」で変数を初期化すると、そのスコープでのみ読み取り可能になるため、別のスコープで変数を呼び出そうとすると、varsをsubmitの外に移動するか、「var」を取り出してグローバルにします。

于 2012-09-04T17:40:12.293 に答える