2012-07-27 7 views
5

jquery ajaxに問題があります。私はこのコードを持っています:Jquery ajaxデータを文字列に変換する

$.ajax({ 
    url: '/users/validatepassword/'+current, 
    success: function(data){ 
     status = data; 
    }, 
    async: false 
}); 

if(status == "Password correct") 
{ 
    //do something 
} 

基本的に、私は "成功"で返された "データ"をキャプチャします。しかし、私はif文が動作する方法を作ることはできません。私は "データ"は文字列ではないので、私は比較することはできないと思う。

+1

あなたはデータを確認しましたか?最初に –

+0

@nbrooks彼は 'async:false'を持っています。しかしcomebal - あなたはおそらくそのようにコード化すべきではありません。 – Ariel

+0

@Ariel Wow、完全にそのLOLを逃した – nbrooks

答えて

6

は、AJAX呼び出し外状態を定義し、このようにしてみてください。どこにでもアクセスしてください。 ユーザー/ validatepassword使用json_encode()あなたがいない外部からの成功関数内でメッセージを処理する必要があります参照

echo json_encode("Password correct"); 
+2

ありがとうございます。あなたは実際に私の問題を解決しました。私はいくつかの小さな変更を行い、それは働いた。 >:D < – comebal

+0

@combal:私は助けてくれることができてうれしいです。 – mrsrinivas

+1

ヒント:TXTまたはXMLの場合は、 'dataType:" text "'または 'dataType:" xml "'を使用してください。 –

3

ajaxコードの内部で状態を確認してください。

$.ajax({ 
    url: '/users/validatepassword/'+current, 
    success: function(data){ 
     status = data; 
     if(status == "Password correct") 
     { 
     //do something 
     } 
    }, 
    async: false 
}); 

条件がajaxの外にある場合は、ajaxが返される前に実行されます。

+0

情報ありがとう! – comebal

2

あなたは

var response = $.ajax({ 
      url: '/users/validatepassword/'+current, 
      async: false 
     }).responseText; 

     if(response == "Password correct") 
     { 
      //do something 
     } 
+0

私はこれをしましたが、うまくいきませんでした。 – comebal

1

​​

var status = ''; 
$.ajax({ 
    url: '/users/validatepassword/'+current, 
    async: false, 
    success: function(data){ 
     status = data; 
     if(status == "Password correct") 
     { 
      //do something 
     } 
    } 
}); 
+0

こんにちは、情報ありがとう – comebal

1

@Comebal:バディは、このuは何をする必要があるかです:

まず非同期を削除:偽

$.ajax({ 
    url: '/users/validatepassword/'+current, 
    success: function(data){ 
     //alert(data); 
     if(data == "Password correct") 
     { 
        //do something 
     } 
    } 
}); 

その後、大部分は、Ajaxのページからのデータが "であることを確認していますパスワードが正しいかどうかを確認してください。そうでないと、「何かできません」というメッセージが表示されます。

関連する問題