jQuery .get / .post无法在IE 7或8上正常工作
我基本上在页面上有这个:
<script type="text/javascript">
function refresh_context() {
$("#ajax-context").html("Searching...");
$.get("/ajax/ldap_search.php", {cn: $("#username").val()}, function(xml) {
$("#ajax-context").html($("display", xml).text());
$("#context").val($("context", xml).text());
}, 'xml');
}
$(document).ready(function() {
$("#username").blur(refresh_context);
});
</script>
<input type="text" name="username" id="username" maxlength="255" value="" />
<input type="hidden" name="context" id="context" value=""/>
<div id="ajax-context"></div>
它应该执行的操作(在Firefox上可以正常工作)是在#username字段中输入用户名时,它将运行/ajax/ldap_search.php?cn=$username,它将在我们公司的ldap中搜索用户名并返回该用户名。原始上下文和上下文的格式化版本如下:
<result>
<display>Staff -> Accounting -> John Smith</display>
<context>cn=jsmith,ou=Accounting,ou=Staff,ou=Users,o=MyOrg</context>
</result>
格式化的版本(显示)转到div#ajax-context并转到隐藏的输入#context。(此外,->实际上是-“&gt;”(不带空格))。
但是,在IE上,div仍然停留在“搜索中…”,而隐藏的输入值则保持空白。
我已经尝试过.get和.post两者都没有用。我确信它在.get上失败了,因为如果我尝试这样做,我什至没有得到警报:
$.get("/ajax/ldap_search.php", {cn: $("#username").val()}, function() {
alert("Check");
});
另外,IE不会给我任何脚本错误。
编辑:添加了“ $(document).ready(function(){”,.blur已经在我的代码中了,但是我忘了在我的帖子中包含它。
编辑2:该请求正在发送,apache2正在接收它:
10.135.128.96 - - [01/May/2009:10:04:27 -0500] "GET /ajax/ldap_search.php?cn=i_typed_this_in_IE HTTP/1.1" 200 69