Axios: غير قادر على الحصول على الجسم من استجابة أكسيوس

تم إنشاؤها على ١٧ أغسطس ٢٠١٧  ·  3تعليقات  ·  مصدر: axios/axios

ملخص

أقوم بإرسال طلب نشر من بلدي المحلي إلى مجال آخر. (أنا أستخدم Chrome في وضع dev لتجاوز مشكلة Cors)

هذا هو الكود الخاص بي:

axios('https://..../signup', {
    method: 'POST',
    data: {
    email: '[email protected]',
    password: 'fdsfds',
    confirmPassword: 'fdsfds'
  }

}).then(function(response) {
  console.log('response::', response.data);
})
  .catch(function(error) {
  console.log('ERROR::', error.data);
});

تكمن المشكلة في أنني أحصل على الحالة 400 (Bad Request) فقط كاستجابة ، بينما إذا كنت سأرسل نفس الطلب عبر curl cli / postman ، فسأحصل على الحالة بالإضافة إلى هيئة مثل:

[
    {
        "param": "email",
        "msg": "Email is not valid"
    },
    {
        "param": "password",
        "msg": "Password must be at least 4 characters long"
    },
    {
        "param": "confirmPassword",
        "msg": "Passwords do not match"
    }
]

ولكن ليس مع أكسيوس. لا يمكن أن تكون هذه مشكلة في Cors ، لأنني أستطيع أن أجعل استفسارات الحصول / نشر بشكل جيد ، ولا يبدو أنني أحصل على الجسد الذي يتم إرجاعه بالحالة.

سياق الكلام

  • إصدار أكسيوس: "^ 0.16.2" ، *
  • البيئة: * عقدة v6.9.4 ، كروم 54 ، ويندوز 7

التعليق الأكثر فائدة

بغض النظر عن قيام console.log('ERROR::', error.response.data); بالمهمة ، آمل أن يتم توثيق ذلك بوضوح.

ال 3 كومينتر

بغض النظر عن قيام console.log('ERROR::', error.response.data); بالمهمة ، آمل أن يتم توثيق ذلك بوضوح.

samayo شكرا لك على الرد على هذا. لقد كان يقودني إلى الجنون ، باستخدام طلب XHR البسيط نجح في استعادة ردود الخطأ ، ولكن عند استخدام أكسيوس كنت أتساءل لماذا لم أتمكن من استعادة الردود على الخطأ ، والتي أجبت عليها بشكل مثالي. متفق عليه أنه من الأسهل العثور عليه في الوثائق.

عندما أرسل طلب نشر باستخدام غير متزامن ، في انتظار بناء الجملة إذا كانت حالة res 200 ، فإنه يرسل نص استجابة مرة أخرى ولكن عندما تكون حالة الاستجابة 400 ، فإنه لا يرسل نص استجابة. كيفية الحصول على خطأ باستخدام غير متزامن في انتظار بناء الجملة؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات