2016-12-28 81 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