2017-05-25 17 views
0

投稿するアンドロイドスタジオ&ネイティブcliに反応し、初めてフェッチ機能を試しています。反応的なネイティブフェッチが機能しない

fetch('https://mywebsite.com/endpoint/', { 
    method: 'POST', 
    headers: { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json', 
    }, 
    body: JSON.stringify({ 
    firstParam: 'yourValue', 
    secondParam: 'yourOtherValue', 
    }) 
}) 
.then((response) => response.json()) // Here is the error saying, response not defined. 

問題:それはそうです、要求自体が全く、エンドポイントのURLに掲載されていない、次のようにFacebookのURLで指定されたように私は、POST APIを試してみました。したがって、レスポンスがフェッチされ操作された行では、「応答が定義されていません」というエラーが発生します。徹底したクロム郵便配達員が正常に動作するURLをテストしましたが、反応したネイティブコードのフェッチが機能していません。フェッチAPIを正しく動作させるためにインストールまたは設定する必要があるようなものですか?親切に助けて/提案してください。事前 〜ビナイ

+0

コンソールエラーが発生しましたか?おそらくCORSの問題があります。 – Dan

+0

私が実際に呼び出すURLは、郵便配達員とのテストで正常に動作しています。上記のfacebookの例は参照目的のためのものです。 –

答えて

0

、以下の呼び出しフェッチ

リアクト - ネイティブログアンドロイド//アンドロイド

を試してみてくださいまたは反応ネイティブログIOS // IOS

感謝応答データまたはエラーの詳細を表示するために使用する

fetch('https://mywebsite.com/endpoint/', { 
    method: 'POST', 
    headers: { 'Accept': 'application/json','Content-Type': 'application/json',}, 
    body: JSON.stringify({ firstParam: 'yourValue', secondParam: 'yourOtherValue'}) 
}).then((response) => response.json()) 
.then((responseData) => { 
    console.log("responseData : " +responseData); 
}).catch((error) => { 
    console.log("error : " +error); 
}); 
+0

ありがとうございます。出来た。 –

0

問題はJSON.stringifyです。 代わりにFormDataを使用してください。インストールする必要はありません。サードパーティ製ではありません。

import FormData from 'FormData'; 

var formData = new FormData(); 

formData.append('username', 'Andy'); 

... 

{ 
    ... 
    body: formData 
    ... 
} 
関連する問題