微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jquery .get / .post不工作​​ie 7或8,在ff中工作正常

我基本上在页面上有这个:

<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 -&gt; Accounting -&gt; 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] 举报,一经查实,本站将立刻删除。

相关推荐