2011-06-04 76 views
1

我正在使用jQuery和$(document).ready事件當我在IE8中加載時出現錯誤「對象不支持此屬性或方法」。當我刷新它工作正常,這是我的代碼:

<script language="text/javascript"> 
    $(document).ready(function() 
    { 
     var xmlhttp; 
     xmlhttp=new XMLHttpRequest(); 
     xmlhttp.onreadystatechange=function() 
     { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     document.getElementById("loginbox").innerHTML=xmlhttp.responseText; 
     } 
    } 
     xmlhttp.open("POST","loginform.php",true); 
     xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
     xmlhttp.send(); 
    }); 
    </script> 

我有我的頭標記以下內容:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"> 

任何幫助,將不勝感激我曾嘗試$(窗口).load和其他

+0

你確實是意識到jQuery的可以通過'$。員額發送AJAX請求()','$獲得()'和'$。阿賈克斯()'的功能呢? – Blender 2011-06-04 03:58:00

+0

是的,我正在努力磨練代碼,最終,這與文件服務器交互。 – Clay 2011-06-04 04:00:14

回答

2

使用jQuery庫時您將其包含在內,因爲您僅使用$(document).ready()功能。

試試這個代碼(它實現了完全一樣的事情和你):

$(document).ready(function() { 
    $.post('loginform.php', $('#id_of_your_login_form').serialize(), function(response) { 
    $('#loginbox').html(response); 
    }); 
}); 

這條線也可能會出現問題:

<script language="text/javascript"> 

您指定type,而不是language。試試這個來代替:

<script type="text/javascript"> 
+0

就是這樣!謝謝! – Clay 2011-06-04 04:09:51

+0

我使用$ .get方法,因爲我沒有傳遞任何文件。像魅力一樣工作。謝謝。類型/語言問題來自之前的試驗和錯誤。你糾正我。 – Clay 2011-06-04 04:11:43

+0

沒問題。 jQuery有點像寫簡單的英文;)如果你沒有發佈任何東西,你可以忽略'.serialize()'的東西。這隻需要表單的內容並將其序列化,如'bar = asd&foo = asd%20as'。這非常方便。 – Blender 2011-06-04 04:14:00