2012-01-20 5 views
2

これは私のコードです。それは、ページにAJAX要求を送信し、警告結果をin chrome:jquery/ajaxの結果で条件文が失敗する

function num(){ 
    $.ajax({ 
     type: 'POST', 
     url: 'num.php', 
     success: function(data) { 
      data = parseInt($.trim(data)); 
      if(data == 1) 
       alert(' its num 1'); 
      else 
       alert(data) 
     } 
    }) 
} 

num.php

<?php echo 1; ?> 

それはIEで罰金とFF動作しますが、クロムでは、この条件文が何らかの理由で動作しません。また、 console.log(data)は実際にあなたにTYPEが表示され、迷惑なアラートを使用してより多くのdetialsを記録することができるので、console.log(data)を使用してください。

+0

'console.log(data)'を使って何が起きているかを見てください。 – ppumkin

答えて

0

を私の個人的な経験では、あなたのnum.phpファイルまたはインクルードされたファイルの1つが不正なエンコーディングを持ち、結果にいくつかの目に見えない文字を追加しています。 bomを使わずにutf8にエンコーディングを変更し、num.phpからインクルードファイルを削除してみてください。

0

コンソールでは、(あなたがparseIntを使っていても)潜在的な型変換を表示することができます。文字列にキャストすることができます..誰も知っています..これらのブラウザはすべて独自のJ/Enginesを使用しています...オフ。

例えば

  • データ= '1'(クローム)
  • 日= 1(すなわち/ FF)

またconsole.log($(object))は、PHPのprint_r(object)

アラートがあることをしない再現します.. jsut say [オブジェクトオブジェクト] - アラートから手を離してください。

右クリックして使用してください - 変換文字列の場合はクローム

0

にコンソールにアクセスするために点検し、あなたが試すことができます:

data = data/1; 

'===' の使用を比較する場合:

if(data === 1) 
関連する問題