【问题标题】:Can't recover the json response from a web server无法从 Web 服务器恢复 json 响应
【发布时间】:2016-07-23 21:07:24
【问题描述】:

我正在创建一个 cordova-apache 应用程序,我在其中与 Web 服务器通信(获取 http 请求并将其发布到 http://192.168.1.1/cgi/json/****)

为了从服务器恢复响应,我添加了以下代码:

http.addEventListener("load", processRequest, false);

function processRequest()
{
        if(http.readyState == 4 && http.status == 200)
        {
           alert("processRequest");
           alert(http.responseText);
           var response = JSON.parse(http.responseText);

           alert("response1 =" + response);
           var obj=jQuery.parseJSON(response);
           alert("session1"+obj.id);
           var myParams =obj.parameters;
           session_ID = myParams.id;
           alert("session2"+ myParams.id);
      }


}

当我调试时,调试器没有进入 processRequest() 函数,我无法在我发送第二个请求“Post”中恢复会话 ID

我正在使用的环境:

  • ubuntu
  • cordova 版本:6.1.1
  • nodejs 版本:v0.10.25
  • 火狐

在网络控制台中: 跨域请求被阻止:同源策略不允许读取位于http://192.168.25.1/cgi/json-req?req=%7B%22request%22%3A%7B%22id%22%3A0%2C%22session-id%22%3A%220%22%2C%22priority%22%3Atrue%2C%22actions%22%3A%5B%7B%22id%22%3A0%2C%22method%22%3A%22logIn%22%2C%22parameters%22%3A%7B%22user%22%3A%22admin%22%2C%22persistent%22%3A%22true%22%2C%22session-options%22%3A%7B%22nss%22%3A%5B%7B%22name%22%3A%22gtw%22%2C%22uri%22%3A%22http%3A%2F%2Fsagemcom.com%2Fgateway-data%22%7D%5D%2C%22language%22%3A%22ident%22%2C%22context-flags%22%3A%7B%22get-content-name%22%3Atrue%2C%22local-time%22%3Atrue%2C%22no-default%22%3Afalse%7D%2C%22capability-depth%22%3A2%2C%22capability-flags%22%3A%7B%22name%22%3Atrue%2C%22default-value%22%3Atrue%2C%22restriction%22%3Atrue%2C%22description%22%3Afalse%2C%22flags%22%3Atrue%2C%22type%22%3Atrue%7D%2C%22time-format%22%3A%22ISO_8601%22%2C%22depth%22%3A2%2C%22write-only-string%22%3A%22_XMO_WRITE_ONLY_%22%2C%22undefined-write-only-string%22%3A%22_XMO_UNDEFINED_WRITE_ONLY_%22%7D%7D%7D%5D%2C%22cnonce%22%3A7462007388%2C%22auth-key%22%3A%222709a8e8d717a3a0fbcad62941c00a30%22%7D%7D 的远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。

【问题讨论】:

  • 什么是http?一个 XMLHttpRequest?
  • 我已经定义了一个变量,var http=xmlHttpRequest;
  • 那么您在开发者控制台的网络选项卡中看到了什么?
  • GET 192.168.25.1/cgi/… request5.js(第 117 行)
  • 跨源请求被阻止:同源策略不允许读取192.168.25.1/cgi/json-req?req=..的远程资源。

标签: javascript json cordova http xmlhttprequest


【解决方案1】:

这是关于配置权限的,只需放置适当的配置即可

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 2015-11-14
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    相关资源
    最近更新 更多