如何解决jQuery ajax调用.get,.post,load等,返回数据和IE问题
| 就jQuery 1.3.2而言,这并不是我自己注意到的问题 我花了很多时间进行研究,查找和最终测试(首先应该做到这一点),这是我发现的结果: 假设您有一个小文件(称为example.php): <div>Hello world</div></div>
然后在主文件中进行此特定调用
<div class=\"result\"></div>
<script type=\"text/javascript\">
$(document).ready(function(){
$.get(\'example.php\',function(data){
$(\'.result\').html(data);
});
});
</script>
现在,这将适用于除IE8 / 7之外的所有单个浏览器(尚未在IE9上对其进行测试)。这是因为尽管接收到的数据正确接收,但并未解析为html。解决此问题的唯一方法是从\“ example.php \”文件中删除additiona标记。这样可以解决问题。
这可能看起来很简单,但是当您在get调用中使用复杂的* .php / * .html文件时,这可能会变得很杂乱,并且需要解决噩梦。
注意:
我尝试在stackoverflow上搜索此特定问题,但没有找到明确的答案或解决方案。因此,我已经发布了此特定问题及其解决方案。认为自己对此很不满意,如果有人指出已经有对此的解释,请告诉我,我将删除此帖子。
解决方法
尝试
$(\'.result\').html(\"\");
$(\'.result\').append(data);
它可能会删除无效的标签
但考虑将iframe用于容器.result
, 如果您需要使用jQuery对ajax调用进行更多控制,则应使用$ .ajax调用本身并操纵参数。专门将dataType:设置为\'text \'
http://api.jquery.com/jQuery.ajax/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。