2012-04-15 14 views
1

下記のjavascriptの下にあります。 like_add関数はelseルートをとります。 if経路を取るのと同じです。たとえそれが成功を返すとしても。だから私の質問はなぜですか?データは成功を返しますが、それはlike_get関数に移動せず、代わりに成功(データ)を警告します。ajaxデータのelseルートが動作しない場合

function like_add(id){ 
    $.post('ajax/like_add.php',{id:id},function(data){ 
     if(data == "success"){ 
      like_get(id); 
     }else{ 
      alert(data); 
     } 
    }); 
} 

function like_get(id){ 
    $.post('ajax/like_get.php',{id:id},function(data){ 
     $('#post_'+ id +'_likes').text(data); 
    }); 
} 
+0

であることを確認することができますので、それはまた、おそらくアラートデータ長アラート

data = $.trim(data); 

で見ることができるいくつかのスペースや隠し文字ですあなたは確かにajaxレスポンスで "成功"を得るのですか? – Shyju

+1

あなたはあなたのサーバーから何を返ってきていますか?また、console.log(データ)を実行し、あなたに見えるものをお知らせください。 – Baz1nga

+0

'console.log(data)'を実行し、その出力を貼り付けてください。 –

答えて

2

最初のデータをトリミングしてみてくださいあなたは

else{ 
    alert(data); 
    alert(data.length); 
    } 
+0

非常に興味深いです。私が長さを警告したとき、成功は7人のチャーマーであったが、11人に警告した。だから私はデータをトリミングした後、それは適切に働いた。だから私の質問は、何がこの余分なスペースを引き起こしていたのですか?どのような救済、私は約5時間これを修正しようとしている。 – arboles

+0

これらの空白がいつどこに来るのか分かりませんが、バックエンドページのエンコーディングがあると言わざるを得なかった場合は、jsonを使ってデータを渡すこともできます – max

+1

HTTPプロトコルには、応答。私はjqueryが少なくともそれらのいくつかを削除すると思うだろうが、おそらくそうではない。いずれにしても、トリムは合理的な位置ではありましたが、indexOf関数を使用して "成功"が位置0にあるかどうかを確認できました。 –

関連する問題