2012-07-26 86 views
1

這是我的代碼。這是用於使用json到jsoncall.php文件的傳遞值,並且需要獲得響應。json響應不在IE中工作

var url = 'jsoncall.php'; 
    var calltype = "signin";  
    parameters = 'call='+calltype; 
    var email = document.getElementById('email').value; 
    var pass = document.getElementById('password').value; 
    var serverurl = document.getElementById('s_url').value; 
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 

    if(email == "") { 
     alert("Plese enter your email address!"); 
     return false; 
    }else if(email != ""){ 

     if(reg.test(email) == false) {  
      alert('Invalid Email Address!'); 
      return false; 
     } 
    }else if(pass == "") { 
     alert('Please enter your password!'); 
     return false; 
    } 

    setTimeout(function() { 
     jQuery.getJSON(serverurl+url+'?callback=?', 
      {call:calltype, txtEmail: email, txtPassword: pass, login: ""}, 
       function(data) { 
        console.log(data); 
        //alert(data.result); 
        if(data.result == 0){      
         alert("Invalid email or password!"); 
         return false; 
        }else {       
         window.location = data.result; 
        } 

      }); 
     }, 100); 

這項工作在Crome,Firefox。但是這在IE中不起作用。當我按f12並在IE中獲得開發者工具時,它開始在IE中工作。否則它將無法工作。感謝您的幫助。

+0

順便說一句,'參數'變量在它之前沒有'var' - 你正在泄漏一個全局變量。 – Inkbug 2012-07-26 05:05:57

回答

1

這是因爲console.log僅在您啓動開發人員工具後纔可用。您可以使用try/catch塊吸收錯誤,或創建一個虛擬console對象(如果它不存在)。

+0

非常感謝。我從我的代碼中刪除了console.log。現在它工作正常。非常感謝你。 – Madu 2012-07-26 05:01:47