2017-03-08 2 views
1
fetch('http://119.9.52.47:3000/api/countries', { 
     method: 'POST', 
     headers: { 'Accept': 'application/json','Content-Type': 'application/json'}, 
    }).then((response) => response.json()) 
    .then((responseData) => { 
      console.log(responseData); 
     }) 

ここは私のコードです。しかし、それは仕事ではありません。内部ドメインに例外を追加することができ、最新のiOS SDKには、代わりにhttp.youのhttpsプロトコルであることへの接続を強制したよう:あなたは、サーバーへの送信データのために、このようにしてみてくださいネイティブIOSアプリケーションにHTTPリクエストを送信する方法

+0

私の答えは今すぐ確認してください –

+0

info.plistファイルで私はApp Transport Security例外を追加する必要がありますか? アプリケーションフォルダ内にmore info.plistファイルが存在するためです。 –

+0

AppName-Info.plistを検索します。AppNameはあなたのアプリケーションの名前です。 –

答えて

2

(POST)

let response = await fetch(
    'http://your_url', { 
     method: 'POST', 
     headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/json', 
     }, 
     body: JSON.stringify({ 
     username: this.state.name,//data which u want to send 
     password: this.state.password, 
     }) 
    }); 
    let responseText = await response.text(); 
    if (response.status >= 200 && response.status < 300){ 
    Alert.alert('Server response', responseText) 

    } 
    else { 
    let error = responseText; 
    throw error 
    //Alert.alert('Login', error) 
    } 
} catch(errors) { 
    Alert.alert('Login', errors) 

    Actions.Documents(); 
} 

編集Xcodeプロジェクトのinfo.plistファイル

あなたがNetwork docsを引用https://stackoverflow.com/a/31623388/7604342

+0

"let responseText = response.text();を待ちました" @Nitesh Mishra –

+0

エラー:構文エラー "await"は予約語です。 –

+0

私のコードを編集しようとしました。エラーを表示しません。 –

0

これをチェックしてくださいすべてがより多くの情報のため、この内部のInfo.plist

<key>NSAppTransportSecurity</key> 
<dict> 
<key>NSExceptionDomains</key> 
<dict> 
    <key>yourdomain.com</key> 
    <dict> 
     <!--Include to allow subdomains--> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <!--Include to allow HTTP requests--> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <!--Include to specify minimum TLS version--> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 
</dict> 
</dict> 

を書く許可する場合:

デフォルトでは、iOSのは、任意のをブロックしますSSLを使用して暗号化されていないリクエスト。クリアテキストURL(httpで始まるURL)からフェッチする必要がある場合は、まずApp Transport Security例外を追加する必要があります。

リクエストがhttpあるので、あなたのiOSアプリでアプリのトランスポート・セキュリティ例外としてアドレスを追加、またはhttpsを使用するのいずれかが必要です。

+1

どのようにアドレスをApp Transport Security例外に追加しますか? 簡単に説明していただけますか? @Moti Azu –

+0

私は同じ問題があります。あなたは解決策を見つけましたか? –

関連する問題