php ファイル:
リーリーログインページフラッター:
リーリー ######コンソール:######E/flutter (6084): [エラー: flutter/lib/ui/ui_dart_state.cc(198)] 未処理の例外:FormatException:予期しない文字 ( キャラクター1) E/フラッター (6084):
E/フラッター(6084):^ E/フラッター(6084): E/Flutter(6084): #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1383:5) E/Flutter(6084): #1 _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1250:9) E/Flutter(6084): #2 _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:915:22) E/Flutter(6084): #3 _parseJson (dart:convert-patch/convert_patch.dart:35:10) E/Flutter (6084): #4 JsonDecoder.convert (dart:convert/json.dart:612:36) E/Flutter (6084): #5 JsonCodec.decode (dart:convert/json.dart:216:41) E/Flutter (6084): #6 jsonDecode (dart:convert/json.dart:155:10) E/Flutter (6084): #7 Login.login (パッケージ:mes_v1/pages/Authentication/login.dart:25:18) E/フラッター(6084): E/フラッター(6084):
あなたのコードはエラーが発生しやすいように見えますが、質問に焦点を当てます。例外は明らかであり、応答の解析は中断されています。 (また、コードの破損を防ぎ、問題を適切にキャッチするために、コードを try/catch でラップする必要があるとも言えます)。
あなたの問題を解決しましょう:
var data = jsonDecode(response.body);
これにより、文字列 (response.body) が json に変換されます。つまり、
data
はMap
またはList (ここで、 Dynamic は Map または別のネストされたリストであるため、以下は意味がありません
if(データ=="成功"){
それでは、php コードを見てみましょう:
echo json_encode("成功");
私は php の専門家ではありませんが、ドキュメントによると、次のように使用する必要があります:
リーリーさて、ダーツコードに戻りましょう:
リーリー