我基本上在页面上有这个:
<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. (另外, – >实际上是 – “& g t;”(没有空格)).
但是,在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
解决方法:
问题出在ldap_search.PHP文件中.
我有这个(基于我在某人的博客上阅读的一个例子):
header("content-type:application/xml-xhtml;charset=utf-8");
它实际上需要这个IE才能正确读取它:
header("content-type:application/xml;charset=utf-8");
上帝,我讨厌IE.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。