flatter json.decode问题<;!doctype html>;错误
我正在尝试将stripe支付集成到我的Flatter项目和后端Laravel中。由于某种原因,我在json.decode上遇到了错误 E/flatter(10999):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)] 未处理的异常:FormatException:意外字符(位于 特征1)E/颤振(10999): 支付服务flatter json.decode问题<;!doctype html>;错误,json,laravel,flutter,doctype,Json,Laravel,Flutter,Doctype,我正在尝试将stripe支付集成到我的Flatter项目和后端Laravel中。由于某种原因,我在json.decode上遇到了错误 E/flatter(10999):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)] 未处理的异常:FormatException:意外字符(位于 特征1)E/颤振(10999): 支付服务 class PaymentService { Repository _repository; PaymentService(
class PaymentService {
Repository _repository;
PaymentService(){
_repository = Repository();
}
makePayment(Payment payment) async {
return await _repository.httpPost('make-payment', payment.toJson());
}
}
拉威尔码
public function makePayment(Request $request)
{
\Stripe\Stripe::setApiKey('sk_test_7422pw1lMsdRfN2FaPmfFKlt00AtiIJD9O');
$token = Token::create([
'card'=>[
'number'=>$request-input('cardNumber'),
'exp_month'=>$request-input('expiryMonth'),
'exp_year'=>$request-input('expiryYear'),
'cvc'=>$request-input('cvcNumber')
]
]);
\Stripe\PaymentIntent::create([
'amount' => 1000,
'currency' => 'inr',
'source' => $token,
'receipt_email' => $request->input('email'),
]);
}
错误
E/flatter(10999):[错误:flatter/lib/ui/ui\u dart\u state.cc(157)]未处理的异常:FormatException:意外字符(在字符1处)
E/颤振(10999):
E/颤振(10999):^
E/颤振(10999):
E/flatter(10999):#0_ChunkedJsonParser.fail(dart:convert patch/convert_patch.dart:1394:5)
E/flatter(10999):#1 ChunkedJsonParser.parseNumber(dart:convert patch/convert_patch.dart:1261:9)
E/flatter(10999):#2 _ChunkedJsonParser.parse(dart:convert patch/convert_patch.dart:926:22)
E/flatter(10999):#3(省道:转换补丁/转换补丁。省道:31:10)
E/flatter(10999):#4 JsonDecoder.convert(dart:convert/json.dart:495:36)
E/flatter(10999):#5jsoncodec.decode(dart:convert/json.dart:153:41)
E/flatter(10999):#6 34;付款屏幕状态。"付款(包装:factory2homes/screens/payment"屏幕。dart:160:23)
E/颤振(10999):
E/flatter(10999):#7#u PaymentScreenState.build。(包装:factory2homes/screens/payment_screen.dart:142:23)
E/颤振(10999):#8(InkResponseEstate.)(handleTap)(包装:颤振/src/材料/墨水)井。省道:706:14)
E/颤振(10999):#9#InkResponseState.build。(包装:颤振/src/材料/墨水井。省道:789:36)
E/flatter(10999):#10 GestureRecognitizer.invokeCallback(包:flatter/src/signatures/Recognitizer.dart:182:24)
E/flatter(10999):#11 TapGestureRecognitor.handleTapUp(包:flatter/src/signatures/tap.dart:486:11)
E/flatter(10999):#12 BaseTapgestureRecognitor.#检查(包:flatter/src/signatures/tap.dart:264:5)
E/flatter(10999):#13 BaseTapgestureRecognitor.AcceptPirse(包:flatter/src/pirses/tap.dart:236:7)
E/flatter(10999):#14 GestureArenaManager.sweep(包:flatter/src/signatures/arena.dart:156:27)
E/flatter(10999):#15 GestureBinding.handleEvent(包:flatter/src/signatures/binding.dart:222:20)
E/flatter(10999):#16 GestureBinding.dispatchEvent(包:flatter/src/signatures/binding.dart:198:22)
E/flatter(10999):#17个手势绑定。#手点事件(包装:flatter/src/signatures/binding.dart:156:7)
E/flatter(10999):#18个手势绑定。(u flushPointerEventQueue(包装:flatter/src/signatures/binding.dart:102:7)
E/flatter(10999):#19手势绑定。"handlePointerDataPacket(包:flatter/src/signatures/binding.dart:86:7)
E/flatter(10999):#20 rootrunnary(dart:async/zone.dart:1138:13)
E/flatter(10999):#21 _CustomZone.runUnary(dart:async/zone.dart:1031:19)
E/flatter(10999):#22 _CustomZone.runUnaryGuarded(dart:async/zone.dart:933:7)
E/颤振(10999):#23_调用1(省道:ui/钩子。省道:273:10)
E/flatter(10999):#24 dispatchPointerDataPacket(dart:ui/hooks.dart:182:5)
E/颤振(10999):
当服务器返回html
正文或在处理您的请求时服务器端发生错误时,会发生此错误。尝试使用调试器并查看请求的响应
,查看响应状态是否为200
,同时检查响应体,查看服务器为您的请求发送的内容
同时尝试将您jsonDecode
包装在try catch
中,以处理未来的异常
class PaymentService {
Repository _repository;
PaymentService(){
_repository = Repository();
}
makePayment(Payment payment) async {
return await _repository.httpPost('make-payment', payment.toJson());
}
}
public function makePayment(Request $request)
{
\Stripe\Stripe::setApiKey('sk_test_7422pw1lMsdRfN2FaPmfFKlt00AtiIJD9O');
$token = Token::create([
'card'=>[
'number'=>$request-input('cardNumber'),
'exp_month'=>$request-input('expiryMonth'),
'exp_year'=>$request-input('expiryYear'),
'cvc'=>$request-input('cvcNumber')
]
]);
\Stripe\PaymentIntent::create([
'amount' => 1000,
'currency' => 'inr',
'source' => $token,
'receipt_email' => $request->input('email'),
]);
}
E/flutter (10999): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: FormatException: Unexpected character (at character 1)
E/flutter (10999): <!doctype html>
E/flutter (10999): ^
E/flutter (10999):
E/flutter (10999): #0 _ChunkedJsonParser.fail (dart:convert-patch/convert_patch.dart:1394:5)
E/flutter (10999): #1 _ChunkedJsonParser.parseNumber (dart:convert-patch/convert_patch.dart:1261:9)
E/flutter (10999): #2 _ChunkedJsonParser.parse (dart:convert-patch/convert_patch.dart:926:22)
E/flutter (10999): #3 _parseJson (dart:convert-patch/convert_patch.dart:31:10)
E/flutter (10999): #4 JsonDecoder.convert (dart:convert/json.dart:495:36)
E/flutter (10999): #5 JsonCodec.decode (dart:convert/json.dart:153:41)
E/flutter (10999): #6 _PaymentScreenState._makePayment (package:factory2homes/screens/payment_screen.dart:160:23)
E/flutter (10999): <asynchronous suspension>
E/flutter (10999): #7 _PaymentScreenState.build.<anonymous closure> (package:factory2homes/screens/payment_screen.dart:142:23)
E/flutter (10999): #8 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
E/flutter (10999): #9 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:789:36)
E/flutter (10999): #10 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (10999): #11 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
E/flutter (10999): #12 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
E/flutter (10999): #13 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:236:7)
E/flutter (10999): #14 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (10999): #15 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter (10999): #16 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (10999): #17 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (10999): #18 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (10999): #19 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (10999): #20 _rootRunUnary (dart:async/zone.dart:1138:13)
E/flutter (10999): #21 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (10999): #22 _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
E/flutter (10999): #23 _invoke1 (dart:ui/hooks.dart:273:10)
E/flutter (10999): #24 _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)
E/flutter (10999):