如何修复SyntaxError:意外令牌-在JSON中位于Ionic 3的位置0?

时间:2018-10-16 19:21:31

标签: angular laravel rest api ionic3

要显示图像,在离子页面视图中使用Laravel从其余API响应。

与邮递员一起测试时,代码可以正常工作,但在离子中会出现错误:

  

SyntaxError:意外令牌-JSON中的JSON.parse位置0 ...

HTTP状态为200

使用JWT

后端:

g++ main.o Aleatori.o -o Aleatori.exe
./Aleatori
Benvingut al Brain Training Game! Si us plau, selecciona una dificultat:
1 - Facil
2 - Mig
3 - Dificil

服务或提供者中的频率终止

public function maPhotoApi(Request $request){
    $user =  auth()->user();
    $residentModel = new Resident();
    $resident = $residentModel->getResidentByIdUser($user->id);

    if (is_dir(base_path('resources/resident/' . $resident->id_resident . '/')) && file_exists(base_path('resources/resident/' . $resident->id_resident . '/') . 'photo.jpg')) {
        $img = file_get_contents(base_path('resources/resident/' . $resident->id_resident . '/') . 'photo.jpg');
        return response($img)->header('Content-type', 'image/jpeg');
    } else {
        $img = file_get_contents(base_path('resources/resident/profil.png'));
        return response($img)->header('Content-type', 'image/jpeg');
    }
}

组件:

maPhoto(){
  let httpOpt = {
    headers: new HttpHeaders({
      'Access-Control-Allow-Origin': '*',
      'Authorization' : 'Bearer '+localStorage.getItem('token'),
      'Content-type': 'image/jpeg',
    })
  };
  return this.http.get(this.url + "maPhoto", httpOpt);

}

1 个答案:

答案 0 :(得分:0)

  • 此错误的原因是服务器返回纯文本 HTML内容作为响应和ionic应用程序试图解析为JSON。服务器需要将data作为JSON发送。
  • 要确认实际从服务器获取了Ionic应用程序,请打开google chrome开发人员工具,然后导航至“网络”标签,然后选择相关的api调用并查看“响应”标签。离子应用程序应收到类似以下的内容。

enter image description here