【问题标题】:WP7 Phonegap download xml from cross domain url using YQLWP7 Phonegap 使用 YQL 从跨域 url 下载 xml
【发布时间】:2012-08-08 23:55:06
【问题描述】:

以下代码适用于我 PC 上的 firefox、chrome 和 IE9。 但是当我使用phonegap在WP7设备中运行回调函数时没有返回。

function downloadXML(
$.ajax({
    async: true,
    cache: false,
    type: 'GET',
    dataType: "xml",
    crossDomain: true,
    url: yql_url('http://some-cross-domain-url'),
    error:function(xhr, status, errorThrown){
            navigator.notification.alert(errorThrown+'\n'+status+'\n'+xhr.statusText);
        },
    success: function (xml) {
            navigator.notification.alert("successful");
        }
    });
    }
    yql_url = function(source_url) {
    return "http://query.yahooapis.com/v1/public/yql?q=select * from xml where url=\"" + source_url + "\"";
    }

有没有人指出要在 WP7 上运行 EXTRA 必须做些什么?谢了

或者让我重新提出问题,

谁能给我一个代码 sn-p,它可以在带有 phonegap 的 WP7 上工作,它可以从跨域 URL 获取 XML。 我一直在努力让它在 WP7 上运行但没有任何成功:(

【问题讨论】:

  • 您的来源有些奇怪 - 末尾有一个右大括号,但没有匹配的左大括号。这段代码是否完整?
  • 应该工作。也许您应该尝试简化您的代码。你能得到一个 jQuery AJAX 请求来处理其他请求吗?
  • 我能够在所有浏览器上运行当前代码。除此之外,如果我将 dataType 从 XML 替换为 JSONP,它就可以工作。由于某种原因,在 WP7+Phonegap 环境中,回调函数“成功”根本没有达到(用于 xml 下载)

标签: windows-phone-7 cordova


【解决方案1】:

您需要将以下设置为true:

$.support.cors 和 $.mobile.allowCrossDomainPages

查看jQuery Mobile Docs

【讨论】:

    【解决方案2】:

    好像和Phonegap for Windows Phone jQuery ajax callback not executed类似

    尝试以下操作:注释 phonegap-1.3.0.js 中从第 3551 行到文件末尾的所有内容

    //(function(win,doc){
    //
    //    doc.addEventListener("DOMContentLoaded",function()
    //    { 
    // ......
    //      if(!docDomain || docDomain.length == 0)
    //      {
    //          //console.log("adding our own Local XHR shim ");
    //          var aliasXHR = win.XMLHttpRequest;
    //      
    //          win.XMLHttpRequest = function(){};
    //      
    //          var UNSENT = 0;
    // ......
    //
    //    
    //})(window,document);
    

    PS。对于 WP7 上的 XSS,您还需要 jQuery $.support.cors = true;

    的以下标志

    编辑 PhoneGap 1.4.0rc1 已提交

    https://github.com/purplecabbage/callback-windows-phone

    更改包括 XHR 对本地文件的修复,+ 允许 jQM 单/多页应用程序正常运行的修复。

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      相关资源
      最近更新 更多