Windows phone 7 WP7 Phonegap使用YQL从跨域url下载xml

Windows phone 7 WP7 Phonegap使用YQL从跨域url下载xml,windows-phone-7,cordova,Windows Phone 7,Cordova,下面的代码适用于我的电脑上的firefox、chrome和IE9。 但是当我在WP7设备中使用phonegap运行回调函数时,它不会返回 function downloadXML( $.ajax({ async: true, cache: false, type: 'GET', dataType: "xml", crossDomain: true, url: yql_url('http://some-cross-domain-url'),

下面的代码适用于我的电脑上的firefox、chrome和IE9。 但是当我在WP7设备中使用phonegap运行回调函数时,它不会返回

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上运行还需要做些什么吗?THX

或者让我重新定义这个问题

有人能给我一个代码片段,它在WP7上使用phonegap,可以从跨域URL获取XML。 我一直在努力让它在WP7上运行,但没有成功:(

似乎与

尝试以下操作:在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);
另外,对于WP7上的XSS,jQuery$还需要以下标志。support.cors=true;

编辑 已提交PhoneGap 1.4.0rc1


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

您需要将以下设置为true:

$.support.cors 和 $.mobile.allowCrossDomainPages


检查

你的源代码有点奇怪——结尾有一个右大括号,没有匹配的左大括号。这段代码完整吗?应该可以。也许你应该尝试简化代码。你能得到一个jQuery AJAX请求来处理其他请求吗?我能够在所有浏览器上运行当前代码。除了from,如果我将数据类型从XML替换为JSONP,它就会工作。由于某些原因,在WP7+Phonegap环境中,回调函数“success”根本无法实现(用于XML下载)