2016-12-28 80 views
1

我想从nativescript发出一个http请求到一个普通的http(不是https)服务器。当到HTTPS服务器进行在Android本地脚本中进行不安全的http请求

let headers = new Headers(); 
    headers.append("Content-Type", "application/json"); 

    this.http.request(
     "http://localhost:3050/register", 
     { 
      method: "POST", 
      headers: headers, 
      body: JSON.stringify({ 
       username: user.username, 
       email: user.email, 
       password: user.password 
      }) 
     }) 

请求的工作完美,但是当一个HTTP服务器所做的(这是我目前正在运行的服务器),这是行不通的。

在iOS中,我不得不添加在Info.plist文件如下,以允许请求的HTTP服务器,之后,它工作得很好:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

但是,在Android上,请求仍然无法正常工作,并且我找不到任何有关为了使请求运行到http服务器而需要做出的更改的文档。该请求甚至不会触及服务器。

任何帮助表示赞赏。

谢谢。

回答

1

本地主机意味着你正在运行的设备和采用Android,当你回送地址不再是标准127.0.0.1(又名本地主机),但像10.0.2.2(它可能会有所不同,具体取决于您是否使用AVD或GenyMotion)

更多here

您还可以use similar solution的跨平台解决方案

+0

谢谢你,做到了。我认为问题出在https上,但我错了:P – Bassel