Windows phone 7 WP7 Phonegap使用YQL从跨域url下载xml
下面的代码适用于我的电脑上的firefox、chrome和IE9。 但是当我在WP7设备中使用phonegap运行回调函数时,它不会返回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'),
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下载)