2011-07-13 7 views
0

私はユーザー名が利用可能かどうかを確認するJSON関数を使用しています。どのような関数がJavaScriptで返されたかを確認するには?

機能(ユーザ名はavaliableである場合)のいずれかを返します。この:

{"error":null,"jsonrpc":"2.0","id":1,"result":true} 

またはこのそうでない場合:

{"error":null,"jsonrpc":"2.0","id":1,"result":false} 

ので、私がする必要がある結果に基づいてアクションを実行します最初に関数が何を返すかを確認してください。私はこれを試したとき:

   if (JSON.stringify(result) == '{"error":null,"jsonrpc":"2.0","id":1,"result":true}') { 
        avaliability.html('avaliabile'); 
       } 
       else if (JSON.stringify(result) == '{"error":null,"jsonrpc":"2.0","id":1,"result":false}') { 
        avaliability.html('not avaliabile'); 
       } 

それは動作しませんでした。 JSON関数がtrueまたはfalseが返されているかどうかを確認する方法

    if (JSON.stringify(result) == false) { 
         alert('not avaliabile'); 
        } 
        else if (JSON.stringify(result) == true) { 
         alert('avaliabile'); 
        } 

    if (JSON.stringify(result).search('false') != -1) { 
         alert('not avaliabile'); 
        } 
        else if (JSON.stringify(result).search('true') != -1) { 
         alert('avaliabile'); 
        } 

またはこの:これをしなかったんどちら?

+0

「結果」とは何ですか? – SLaks

答えて

3

あなたのコードは完全に間違っています。

result.resultが真であるかどうかをチェックするだけです。

2

JSON.parse('{"error":null,"jsonrpc":"2.0","id":1,"result":false}').resultはfalseを返し、JSON.parse('{"error":null,"jsonrpc":"2.0","id":1,"result":true}').result trueを返し、そう実際のコードは次のようになります考慮もちろん

if(JSON.parse(result).result == true){ 
    alert('Available') 
}else{ 
    alert('Not available') 
} 

resultが文字列であること。すでにObject(解析済み)の場合は、SLakが言ったようにしてください。

関連する問題