Web应用程序中的跨源请求

问题描述 投票:1回答:1

在我的Tizen系统应用程序中,我提出了一个跨源AJAX请求,它在Tizen的浏览器中运行良好,但是当我将其打包为Web应用程序时,交叉原始请求无法工作。我已经在模拟器和真实设备上测试了它。我还使用webkit检查器记录网络日志,截图如下:

任何专家能告诉我为什么吗?

以下是我的代码:

var url = "";//this is assigned a domain which supports cross domain access according to HTML5 specification.
var client = new XMLHttpRequest();
client.open("GET", url, true);
client.setRequestHeader("Accept-Language", 'en-us');
client.onreadystatechange = function() { alert("succeed"); }
client.send();
javascript xmlhttprequest tizen tizen-emulator
1个回答
5
投票

在外部访问的任何资源都应声明为(see Accessing External Network Resources):

默认情况下,您无法访问外部网络资源(WARP:W3C访问请求策略)。因此,您必须请求窗口小部件的权限才能检索网络资源。您可以使用“访问”选项卡上的“添加”按钮输入多个URL。对于每个URL,您可以指示是否要允许窗口小部件访问URL子域。可以通过鼠标单击切换“允许子域”列内容。

所以如果没有访问我们在config.xml中定义的案例所需的特定资源,它就无法工作:

<access origin="http://url_resource" subdomains="true"/>

要么

<access origin="*" subdomains="true"/>

让一切都过去了。

© www.soinside.com 2019 - 2024. All rights reserved.