jsonp解析为XML

时间:2014-11-04 17:04:17

标签: ajax xml cordova blackberry

我遇到了以下问题。

我正在使用Phonegap开发一款应用,我在Blackberry上调用AJAX时遇到了一些问题。 当我使用datatype = 'xml'调用ajax服务时,它在Windows Phone和Android上工作正常,但在Blackberry上失败了。

这是代码:

jQuery.ajax({
                url: requestedUrl,
                dataType: 'xml',
                timeout: this.timeout,
                beforeSend: _.bind(this.beforeSendCallback, this),
                success: _.bind(this.internalSuccessCallback, this),
                error: _.bind(this.internalErrorCallback, this),
                headers: {'X-Requested-With': 'XMLHttpRequest'}
            })

我在其他帖子上看到,你不能对外部域做XMLHttpRequest,这是Blackberry显示的错误(但我不明白为什么它在其他两个平台上有效。)所以我尝试将dataType更改为'jsonp',但会出现一个syntaxError。我尝试使用jsonp text xml,但出于某种原因,它没有并返回相同的

Uncaught SyntaxError: Unexpected token <

看,WS的响应,它给了我一个有效的XML。所以问题是, 如果我使用jsonp拨打电话,我该如何使用该XML?

编辑:

实际上,问题是“origin”标题是“local:\”(我的应用),因此BB阻止了响应的内容。 解决方案是将该域添加到我的config.xml,如下所示:

<access uri="local:///" subdomains="true" />

与Android和Windows Phone不同,在config.xml中,您必须使用uri设置对域的访问权限,而不是来自BlackBerry 10上的XmlHttpRequest(XHR)的*通配符。

0 个答案:

没有答案
相关问题