【问题标题】:Consuming a Web Service not responding?使用 Web 服务没有响应?
【发布时间】:2015-03-28 18:59:40
【问题描述】:

尝试在 Tizen 中调用 Web 服务,它在 Tizen 网络模拟器中工作,但在设备中不起作用。

  1. 添加了 jQuery 脚本链接:

    src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"

  2. 已添加 Internet 权限:

    tizen:privilege name="http://tizen.org/privilege/internet

  3. 请求 jQuery:

    jQuery.ajax({
            url:"www.ServiceURL.com",
            type:"POST",
            beforeSend: function (request)
            {
                request.setRequestHeader("ver", "2.0.2217");             
            },
            processData: false,
            success: function(msg) {
                alert("jQueryPost :: Result");
            }
    });
    

在模拟器中可以工作,但在设备中没有响应?

【问题讨论】:

  • 因什么错误而失败?
  • "找不到变量 jQuery" 请看更新
  • 这个错误表示库没有被正确加载,或者你的代码在jquery加载之前就已经运行了..(与服务消耗无关)
  • @GabyakaG.Petrioli 在模拟器中一切正常,但在真实设备中,当我在 Chrome 或 firefox 中测试时,什么都没有出现,我收到以下错误“XMLHttpRequest cannot load No 'Access-Control-Allow -Origin' 标头存在于请求的资源上。因此不允许访问 Origin 'null'。响应的 HTTP 状态代码为 406。"
  • 您是否在配置文件中启用了对该资源的访问权限? (见stackoverflow.com/a/15125128/128165)

标签: javascript jquery tizen


【解决方案1】:

应该声明它在外部访问的任何资源(请参阅访问外部网络资源):

默认情况下您无法访问外部网络资源(WARP:W3C 访问请求策略)。因此,您必须为小部件请求权限才能检索网络资源。您可以使用“访问”选项卡上的“添加”按钮输入多个 URL。对于每个 URL,您可以指明是否要允许小部件访问 URL 子域。允许子域列的内容可以通过鼠标点击来切换。 因此,如果无法访问我们在 config.xml 中定义的案例中所需的特定资源,它就无法工作:

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

或

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

让一切都过去。

Reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2018-12-27
    • 2013-03-25
    • 2016-02-24
    相关资源
    最近更新 更多