在我的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();
答案 0 :(得分:5)
任何在外部访问的资源都应声明为(see Accessing External Network Resources):
默认情况下,您无法访问外部网络资源(WARP:W3C 访问请求政策)。因此,您必须请求权限 小部件来检索网络资源。您可以输入多个网址 使用“访问”选项卡上的“添加”按钮。对于每个URL,您可以指明 如果要允许窗口小部件访问URL子域。该 允许子域列内容可以通过鼠标单击切换。
所以如果没有访问config.xml
中定义的案例所需的特定资源,它就无法工作:
<access origin="http://url_resource" subdomains="true"/>
或
<access origin="*" subdomains="true"/>
让一切都过去了。