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

السؤال

نشر

قمت بعملية post ناجحة وظهرت لى هذه ال res .. اريد ان اقوم بتخزين التوكن القادم من ال response 

 

const [Data, setData] = useState([]);

  const loginStudent = () => {
    axios
      .post('https://carna-test-app234/api/v2/login', {
        type: 3,
        method_type: 'email',
        email: 'student@app321.com',
        password: '123456',
      })
      .then(res => {
        console.log(res.data);
        setData(res.data);
      })
      .catch(err => console.log(err));
  };

 

وهذه ال response تظهر لى .. 
كيف أخزن هذه ال response فى متغيريات ؟؟ انا اريد تخزين التوكن فما الحل ؟

{
    "user": {
        "id": 625,
        "name": "ahmed",
        "email": "teacher@app312.com",
        "phone": "87654321",
        "type": 2,
        "lang": "ar",
        "fcm_status": 1,
        "social": 0,
        "verified_at": null,
        "working_times": [],
    },
    "token_type": "Bearer",
    "expires_at": "2022-05-21 20:15:27",
    "status": 200,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjUxMDZhNzNhZjRmZDg0NTliMjc4MTc2ZDZlNjE3NDU2MDg2NzViOWVlZjYyMDIyYTlhM2M1NWE5MzU1MzY1ZDEzZGFiODU3NDEyZGY4YzhhIn0.eyJhdWQiOiIzIiwianRpIjoiNTEwNmE3M2FmNGZkODQ1OWIyNzgxNzZkNmU2MTc0NTYwODY3NWI5ZWVmNjIwMjJhOWEzYzU1YTkzNTUzNjVkMTNkYWI4NTc0MTJkZjhjOGEiLCJpYXQiOjE2MjE2MjA5MjcsIm5iZiI6MTYyMTYyMDkyNywiZXhwIjoxNjUzMTU2OTI3LCJzdWIiOiI2MjUiLCJzY29wZXMiOltdfQ.tvDMG3sNjL7g9FhXM7CfFQ7obXT_SU6NOSvqx09WOOWnd8ciPkRa1QtTcNVhU5uDpmEIqihzB88ojLbFi1PSqpFiIDv1yYsasTOrmnshpWJ7vZlRWOYcUPXWcy3sKEw2BNxqPpD270nrTgsf6vn_BtcQlGKL-eejuPoyXXj9cbU5uZZRfxE151QtiVr4Hfsde-33UqT5fmJVvJr-IkJxfUmmUrT2h98FHjJn7rHxqGwIYmH9TcMF99P-WwPw-8t6d_dFQBajiZOtLtmBvC_OHvSItDV1nmWoAVqRfNOAVZ25tHhu8F9ZmSXUTZPKCrZoqC7RKSXrrOWNEiF1r9Oi6x5-5SEoJm5FGHh1pXgDgUmPkIkR1B6jPEUMQMZ7suX5cFSRKP6M8wIAHxrZgaArPGF2gxrF9Rl-tFWjw4AK-byJzphNxr6utcsNqMEnYwCIupHykOiXwZwxBYJt9oFNHcAs6LArgsg0sas1zuTsCowBrNxtqehBgKvaNLQknmID6MmUxuGa7IADp-cytzZdCem9D4ztZUvTCBPku0mpGEC1WabYAtLq6OaTuf18mBfVlmw9yWgbdyPm3DH6DmbGy3FDa9Eqv7cAT2bNnVlLC_kyhCFd2-wG0waWbvY-4qKkIxwj5zXLmNOmg6alWO7dvL63jYEZOxHfYsXNThdtepw"
}

 

Recommended Posts

  • 0
نشر (معدل)

نقوم بتخزين تلك البيانات في local storage او indexed db فى البراوزر 

window.localStorage.setItem('user', JSON.stringify(res.data.user));

في هذا السطر قمنا بتخزين بيانات المستخدم في local storage 

ولكي نسترجع القيم المخزنة 

window.localStorage.getItem('user');

 

تم التعديل في بواسطة يوسف احمد9
  • 0
نشر

يمكنك بسهولة تخزين ال token في متغير عن طريق تعريفه

const [Data, setData] = useState([]);

  const loginStudent = () => {
    axios
      .post('https://carna-test-app234/api/v2/login', {
        type: 3,
        method_type: 'email',
        email: 'student@app321.com',
        password: '123456',
      })
      .then(res => {
        console.log(res.data);
        const token = res.data.access_token//هذا لتخزين في متغير
        localStorage.setItem('token', token);// هذا للتخزين المحلي في المتصفح
        setData(res.data);
      })
      .catch(err => console.log(err));
  };

 

  • 0
نشر

 يمكنك تخزين التوكن في التخزين المحلي بإستعمال التابع setItem ضمن localStorage لإستعماله في عمليات المصادقة , على هذا النحو : 

window.localStorage.setItem(key, value);

كما يمكنك قراءته متى احتجت على هذا النحو :

window.localStorage.getItem(key);

مثال عن ذلك : 

const [Data, setData] = useState([]);

  const loginStudent = () => {
    axios
      .post('https://carna-test-app234/api/v2/login', {
        type: 3,
        method_type: 'email',
        email: 'student@app321.com',
        password: '123456',
      })
      .then(res => {
        console.log(res.data);
        setData(res.data);
        
        // تخزين التوكن
        if(!! res.data.access_token)
        {
          window.localStorage.setItem('token', res.data.access_token);
        }
      
      })
      .catch(err => console.log(err));
  };

 

  • 0
نشر
بتاريخ 4 دقائق مضت قال أحمد ابراهيم عبد الله:

لكنى احاول ان افعلها ب react native .. 

import { AsyncStorage } from 'react-native';


const [Data, setData] = useState([]);

  const loginStudent = () => {
    axios
      .post('https://carna-test-app234/api/v2/login', {
        type: 3,
        method_type: 'email',
        email: 'student@app321.com',
        password: '123456',
      })
      .then(async res => {
        console.log(res.data);
        const token = res.data.access_token//هذا لتخزين في متغير
         await AsyncStorage.setItem(
      'token',
      token
    );
        setData(res.data);
      })
      .catch(err => console.log(err));
  };

يمكنك استخدام AsyncStorage من react-native

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...