【问题标题】:phonegap XML parser in ajax geting error on iOSajax中的phonegap XML解析器在iOS上出现错误
【发布时间】:2013-12-04 12:45:56
【问题描述】:

包含 jquery-1.8.3.min.js ajax xml 解析工作正常。如果我包括 jquery.mobile-1.3.2.min.js 意味着收到错误“XMLHttpRequest 无法加载http://myurl.com。请求的资源上不存在'Access-Control-Allow-Origin'标头。因此不存在原点'null'允许访问。”

我已经试过了

<script type="text/javascript" src="js/jquery.mobile-1.3.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
      $.support.cors = true;
      $.mobile.allowCrossDomainPages = true;
        $.ajax({
            type: "GET",
            url: "http://myurl.com",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('ad').each(function(){
                   var url = $(this).find('url').text();
                   alert(url);
                   var title = $(this).find('title').text();
                   var details = $(this).find('content').text();
                   $("#BlogList").append("<div class='blog_listing'>                                                                     <div class='blog_list_title'><a href='"+$.trim(url)+"' title='"+$.trim(title)+"'>"+$.trim(title)+"</a></div><div class='blog_list_detials'><p>"+$.trim(details)+"</p></div></div>");

                });
            }
        });
    });
</script>

没有用

【问题讨论】:

  • 您是否同时使用 jquery 1.8.3 和 jquery mobile 1.3.2?尝试使用 jquery 1.9.1
  • @jcesar 现在我尝试使用 jquery 1.9.1 它也显示相同的错误。
  • 你从远程服务器加载 index.html 吗?错误:index.html 的域与您发送请求的 url 不同。在服务器上,输入 Access-Control-Allow-Origin = '*' 以允许所有域访问
  • @Hanh Le 我必须在 .htaccess 中尝试使用 Header set Access-Control-Allow-Origin "*" 但它也显示相同的错误。我需要从 Wordpress 解析 xml 提要。
  • 我不确定,来自 JQM 的问题。你应该检查allowCrossDomainPages

标签: javascript jquery ios ajax cordova


【解决方案1】:

我似乎找不到在您给定的快照中添加的 jquery 文件,如果您添加了它但仍然遇到问题,那么我建议您尝试以下方法并告诉我。

Access-Control-Allow-Origin 错误通常是由于浏览器网络安全权限而出现的。 如果你在 chrome 中运行 ajax 请求,那么我建议你在 chrome 中做 disable-web-security 并尝试一下。

如果您使用的是 MAC,请在终端中输入以下代码并输入:-

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --allow-file-access-from-files --allow-file-access --user-data-dir=~/chrome-test/ spec/runner.html 

如果您使用的是 Windows,请转到命令提示符并进入 Chrome.exe 所在的文件夹并键入

chrome.exe --disable-web-security

尝试这样做并在终端中运行以下代码后打开的浏览器中运行您的项目,并让我知道它是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    相关资源
    最近更新 更多