Web应用程序中的跨源请求

时间:2013-02-27 06:37:46

标签: javascript xmlhttprequest tizen tizen-emulator

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

有专家可以告诉我为什么吗?

以下是我的代码:

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();

1 个答案:

答案 0 :(得分:5)

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

  

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

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

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

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

让一切都过去了。