首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在从laravel api (flutter)获取数据时遇到问题。

我在从laravel api (flutter)获取数据时遇到问题。
EN

Stack Overflow用户
提问于 2019-09-07 02:15:04
回答 2查看 1.1K关注 0票数 0

我正在学习Flutter教程,我曾经学习如何处理flutter和Laravel api之间的问题,我使用这些代码来获取数据,我有一个问题,

这是我的主要代码

代码语言:javascript
复制
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;

void main() async {

  List data = await getData() ;
  print(data) ;

  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    title: 'Waseem Ashraf',
    home: Scaffold(
      appBar: AppBar(
        title: Text('Hello !!'),
        backgroundColor: Colors.deepPurpleAccent,
      ),
      body: Center(
        child: Text('Waseem Ashraf'),
      ),
    ),
  ));
}

Future<List> getData() async {
  String myUrl = 'http://flutterapitutorial.codeforiraq.org/api/products/';
  http.Response response = await http.get(myUrl, headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjliNTg2MWVlNTg0ZGJkZGI5MDc1NDc3YTQ1ZDQ3ZDM5NGNiMzU2ZGIxZjBhMjUwZDUyZjk0YmViNGQwOTM3NTI0ZTM0MGNhMzBiYWM5NDAwIn0.eyJhdWQiOiIxIiwianRpIjoiOWI1ODYxZWU1ODRkYmRkYjkwNzU0NzdhNDVkNDdkMzk0Y2IzNTZkYjFmMGEyNTBkNTJmOTRiZWI0ZDA5Mzc1MjRlMzQwY2EzMGJhYzk0MDAiLCJpYXQiOjE1NTg1NTMyMTMsIm5iZiI6MTU1ODU1MzIxMywiZXhwIjoxNTkwMTc1NjEzLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.sFIfXVx72efT54J40TVkqh3rwMGW-anTulNMDnVvGh_eO_qz0oKRl56JYCBwPQchc7fTbG5ZkVwaf_oU85rzjq3hrgXaOIzOoaNYsAKTOpPVbPi26bqpMLCWFe26hZO3BmS_kCSSD_-WlYVOlEw5oXQt1_MHV1eBt0tbXFLkgNwvkFr9IOvySINVsDOVoCArvp2Cx-XYthIP-0JuC7yQny5byMKerRGDO8pIjKLnPTTi9YWo36KU1SlzqoK-IJrQFvi5ir-rKk93IFCXwNoRN9QwXATb_4uJJyhpv2WLtXQwpnlPFqQFad8L0I8y9pfyzXnDtl3Aq1G3OlZMHbKcXp4uV8uByuT7UzI_FW6a0ion3Id1P3wy65n-X2OW2rDH6cpoCaz5_yzkpUfeo5WQ0RpG7q_VbWon2rf2NpbV8Jyzg80Woz3eNaQPA8-hdR5qUeeGXXulwfcT_sQln2uBmC3Ke2gbI1cKrBa4gVFpip9055lhgXfKzBvNkhV2dUljawBGacb0p4C1irkz6ygTzMu_31r2KHuzXiKQvbaEmorHGOLdvrwr-L2cqUmM3_jeAMmrV2_Pe4nRJHsvOLOYpB6ELNdeX8_DhD7DWUa6pdeU2PpRsXvwaGLbAkah9z7hCa54HGCzSLJPhN813nTXHuK_biSxIlH5n3ruvHiP6Rw'
  });
  return json.decode(response.body);
}

这是错误日志

代码语言:javascript
复制
E/flutter ( 4800): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Unexpected character (at character 1)
E/flutter ( 4800): <br />
E/flutter ( 4800): ^
E/flutter ( 4800): 
E/flutter ( 4800): #0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1392:5)
E/flutter ( 4800): #1      _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1259:9)
E/flutter ( 4800): #2      _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:924:22)
E/flutter ( 4800): #3      _parseJson (dart:convert-patch/convert_patch.dart:29:10)
E/flutter ( 4800): #4      JsonDecoder.convert (dart:convert/json.dart:493:36)
E/flutter ( 4800): #5      JsonCodec.decode (dart:convert/json.dart:151:41)
E/flutter ( 4800): #6      getData (package:api1laravel/main.dart:31:15)
E/flutter ( 4800): <asynchronous suspension>
E/flutter ( 4800): #7      main (package:api1laravel/main.dart:7:21)
E/flutter ( 4800): <asynchronous suspension>
E/flutter ( 4800): #8      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:216:25)
E/flutter ( 4800): #9      _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 4800): #10     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 4800): #11     _runZoned (dart:async/zone.dart:1516:10)
E/flutter ( 4800): #12     runZoned (dart:async/zone.dart:1500:12)
E/flutter ( 4800): #13     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:208:5)
E/flutter ( 4800): #14     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:301:19)
E/flutter ( 4800): #15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
E/flutter ( 4800): 

我尝试了许多解决方案,但都失败了,有没有人能帮上忙?

编辑>>我在返回语句之前添加了response.body的打印语句,这是错误日志

代码语言:javascript
复制
I/flutter ( 5204): <br />
I/flutter ( 5204): <b>Fatal error</b>:  Cannot redeclare auth() (previously declared in /home3/ab54412/flutterapitutorial.codeforiraq.org/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:159) in <b>/home3/ab54412/flutterapitutorial.codeforiraq.org/config/filter.php(12) : eval()'d code</b> on line <b>2</b><br />
E/flutter ( 5204): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Unexpected character (at character 1)
E/flutter ( 5204): <br />
E/flutter ( 5204): ^
E/flutter ( 5204): 
E/flutter ( 5204): #0      _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1392:5)
E/flutter ( 5204): #1      _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1259:9)
E/flutter ( 5204): #2      _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:924:22)
E/flutter ( 5204): #3      _parseJson (dart:convert-patch/convert_patch.dart:29:10)
E/flutter ( 5204): #4      JsonDecoder.convert (dart:convert/json.dart:493:36)
E/flutter ( 5204): #5      JsonCodec.decode (dart:convert/json.dart:151:41)
E/flutter ( 5204): #6      getData (package:api1laravel/main.dart:32:15)
E/flutter ( 5204): <asynchronous suspension>
E/flutter ( 5204): #7      main (package:api1laravel/main.dart:7:21)
E/flutter ( 5204): <asynchronous suspension>
E/flutter ( 5204): #8      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:216:25)
E/flutter ( 5204): #9      _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 5204): #10     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 5204): #11     _runZoned (dart:async/zone.dart:1516:10)
E/flutter ( 5204): #12     runZoned (dart:async/zone.dart:1500:12)
E/flutter ( 5204): #13     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:208:5)
E/flutter ( 5204): #14     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:301:19)
E/flutter ( 5204): #15     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
E/flutter ( 5204): 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-07 13:10:37

这是你的API响应,这是一个错误,不是json格式,这就是为什么你会收到格式异常错误,因为它是一个json格式,但由于错误,它得到了这个格式。

票数 1
EN

Stack Overflow用户

发布于 2019-09-07 03:23:21

错误发生在解码过程中,准确地说是在这行return json.decode(response.body);上。也许您的服务器返回的数据格式不是json,或者返回时存在某种语法错误。

你能把response.body打印出来让我们看看退回的是什么吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57826835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档