7

「SUCCESS」または「EMPTY」のいずれかであるPythonスクリプトから応答テキストを返すAJAXに成功関数があります。今、成功関数内に if ループを配置したいのですが、if ループが機能していません。アラートステートメントが正常に機能し、「成功」を出力しているため、Pythonスクリプトから正しいデータを取得しています。しかしifloopには入らない

私はたくさんのことを試しましたが、コントロールがifループに入っていません。誰かが私が間違っていることを教えてください:

submitHandler: function (form) {

                $.ajax({
                    type: 'post',
                    url: '/cgi-bin/getdataworld.py',
                    data: $(form).serialize(),

                    success: function(data) {
                            //document.write(result);
                            console.log("result is "+data);
                            alert(data);

                            if(data === "SUCCESS"){
                            window.location = 'index.html';
                               }
                           else{
                                 alert("NO DATA PRESENT");
                               }


                    },

                    error: function (responseData) {
                console.log('Ajax request not recieved!');
            }

                });

                return false;
            }
4

4 に答える 4

14

これは、あなたが応答しているものはそうではないことを意味します"SUCCESS"。おそらく、その前後に改行またはその他の空白があり、複数ある可能性があります。

多分:

if (/^\s*SUCCESS\s*$/.test(data)) {
    // Success
}

またはjQueryのを使用します$.trim

if ($.trim(data) === "SUCCESS") {
    // Success
}

また、文字列の比較では大文字と小文字が区別されるため、"Success"またはで応答しないようにしてください。"success"

よくわからない場合:

if (/^\s*SUCCESS\s*$/i.test(data)) {
    // Success
}

また

if ($.trim(data).toUpperCase() === "SUCCESS") {
    // Success
}
于 2013-07-17T21:53:29.943 に答える
0

「SUCCESS」の前後に追加のスペースがないかどうかを確認してください

また、変えようとする

if(data === "SUCCESS"){

if(data == "SUCCESS"){
于 2013-07-17T21:53:21.607 に答える
-1
submitHandler: function (form) {

            $.ajax({
                type: 'post',
                url: '/cgi-bin/getdataworld.py',
                data: $(form).serialize(),

                success: function(data1) {
                        //document.write(result);
                        console.log("result is "+data1);
                        alert(data1);

                        if(data1 == "SUCCESS"){
                        window.location = 'index.html';
                           }
                       else{
                             alert("NO DATA PRESENT");
                           }


                },

                error: function (responseData) {
            console.log('Ajax rariequest not recieved!');
        }

            });

            return false;
        }

ここでこれを試してみる

于 2013-07-17T22:03:56.810 に答える