اذهب إلى المحتوى

السؤال

نشر

لدي backend يعمل ب django لعمل التحقق من بيانات المستخدم

يعيد المخدم عبارة

{"username":["This field is required."]}

بالرغم من إرسال البريد الاكتروني عبر طلب POST

signIn(String email, String pass) async {
    SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
    Map data = {'email': email, 'password': pass};
    var jsonResponse = null;
    var response = await http.post(Uri.parse('http://syy.pythonanywhere.com/login/'), body: data);
    if (response.statusCode == 200) {
      jsonResponse = json.decode(response.body);
      if (jsonResponse != null) {
        setState(() {
          _isLoading = false;
        });
        sharedPreferences.setString("token", jsonResponse['token']);
        Navigator.of(context).pushAndRemoveUntil(
            MaterialPageRoute(builder: (BuildContext context) => Home()),
                (Route<dynamic> route) => false);
      }
    } else {
      setState(() {
        _isLoading = false;
      });
      print('request error');
      print(response.body);
    }
  }

 

1.png

Recommended Posts

  • 0
نشر

يتوجب التحقق من أسماء الحقول التي عليك تمريرها للواجهة الخلفية لأن أي حرف مختلف سوف يسبب عدم تطابق التحقق.

لاحظ أن السيرفر يطلب منك username ,وأنت تمرر له الحقل باسم email , هذه البيانات سيتم تجاهلها و سيتم رفض الطلبية لعد احتوائها على حقل مطلوب.

عليك تعديل الخاصية email ب username

    Map data = {'email': email, 'password': pass};
             ^^^^^^^^^^^

    Map data = {'username': email, 'password': pass};

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...