栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我的XML文件没有被Google Chrome和Internet Explorer占用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我的XML文件没有被Google Chrome和Internet Explorer占用

file://
默认情况下,Google Chrome不允许通过该协议进行AJAX请求。

您需要使用该

--allow-file-access
开关启动Chrome 。

以下是在每个OS上提供开关的说明。

我不确定如何为IE启用文件协议。

可能最简单的方法是设置本地Web服务器,并与其中的xml文件一起运行您的应用程序,这样您就不必在任何一个浏览器中都担心此问题。

编辑

我知道后期编辑。我想把这个扔出去,以防其他人遇到问题。

使用jQuery请求xml文档时,应 始终 在settings对象中提供dataType。在内部,jQuery最好猜测返回的内容,而我认为它是HTML
/ XHTML的一个很好的xml文档。

为此,添加 dataType:“ xml” 。例如:

$(document).ready(function() {    $('.buttons').slideToggle('medium');    $.ajax({         url: "dictionary.xml",         success: function( xml ) {  $(xml).find("word").each(function(){      $("ul").append("<li>" + $(this).text() + "</li>"); });         },        dataType: "xml"    });}

在jQuery.ajax()的文档页面上提供了受支持的数据类型。

另外,在尝试从远程服务器获取RSS提要时,我还遇到了上面的 Access-Control-Allow-Origin
错误。我确定解决此问题的唯一方法是代理从服务器端代码请求RSS提要,并通过某些代理脚本进行传递。这是PHP中的一个简单示例:

<?php if(isset($_GET['q']) && isAjax()) {    $q = strip_tags($_GET['q']);    header("Status: 200");    header("Content-type: text/xml");    echo  file_get_contents('http://'.$q);       exit(); }function isAjax() {    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&     ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));}?>

CAVEAT
我强烈建议修改上面的脚本,以允许您仅通过验证

q
或进一步限制
isAjax
功能来计划为客户代码提供服务的那些位置。我不是PHP开发人员,所以我不假装了解PHP安全性的最佳做法。如果有人对改进PHP代码段有任何建议,我会很乐意应用它们。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号