Axios: الحصول على صفيف المعلمة مع القيمة الرئيسية

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

أهلا،

لقد قمت بالبحث ، ولكن لا يمكنني العثور على طريقة للقيام بذلك. في الأساس ، أريد إرسال طلب GET باستخدام معلمة صفيف مثل هذا

GET /comments?filter[post]=3&filter[author]=12

لقد حاولت هذا

params: {
  filter: {post: 3, author: 12}
}

لكن مازال لا حظ :(

أي تلميح؟

شكرا

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

مرحبًا ghprod ، أولاً وقبل كل شيء ، أريد أن أوضح أنني لست مساهماً في هذه المكتبة ولا

لا يدعم Axios هذا النوع من الترميز افتراضيًا ولكنه يسمح لك بتوفير مُسلسل مخصص. يمكنك إنجاز ذلك بسهولة بالغة باستخدام الكود التالي:

// Axios include here...

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: customSerializerFunc
});

لتبسيط الأمر ، بحثت في Google قليلاً عن مكتبات تسلسل سلسلة الاستعلام ووجدت qs التي تدعم المتصفحات و nodejs. يمكنك استخدامه كمسلسل بهذه الطريقة:

// Include axios and qs here...

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: qs.stringify  // If this doesnt work, append .bind(qs) to the end of this line.
});

ربما سترى هذا: filter%5Bpost%5D=3 بدلاً من filter[post]=3 ، وذلك بسبب تمكين تشفير URL. يمكنك تعطيله بهذه الطريقة:

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: function(params) {
        return qs.stringify(params, { encode: false });
    }
});

اسمحوا لي أن أعرف إذا كان يعمل.
يعتبر.

ال 3 كومينتر

مرحبًا ghprod ، أولاً وقبل كل شيء ، أريد أن أوضح أنني لست مساهماً في هذه المكتبة ولا

لا يدعم Axios هذا النوع من الترميز افتراضيًا ولكنه يسمح لك بتوفير مُسلسل مخصص. يمكنك إنجاز ذلك بسهولة بالغة باستخدام الكود التالي:

// Axios include here...

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: customSerializerFunc
});

لتبسيط الأمر ، بحثت في Google قليلاً عن مكتبات تسلسل سلسلة الاستعلام ووجدت qs التي تدعم المتصفحات و nodejs. يمكنك استخدامه كمسلسل بهذه الطريقة:

// Include axios and qs here...

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: qs.stringify  // If this doesnt work, append .bind(qs) to the end of this line.
});

ربما سترى هذا: filter%5Bpost%5D=3 بدلاً من filter[post]=3 ، وذلك بسبب تمكين تشفير URL. يمكنك تعطيله بهذه الطريقة:

axios.get('/user', {
    params: {
        filter: {post: 3, author: 12} 
    },
    paramsSerializer: function(params) {
        return qs.stringify(params, { encode: false });
    }
});

اسمحوا لي أن أعرف إذا كان يعمل.
يعتبر.

إنه يعمل ..: +1:

شكرا جزيلا ngonzalvez

أتمنى لك يوما عظيما :)

مرحبًا ، أحتاج إلى مساعدة بخصوص المحاور - كيف يمكنني الحصول على قيمة من الإدخال ووضعها كقيمة على معلمة لـ axios.get ؛ قل لوظيفة البحث التي أقوم ببنائها - جزء من عنوان url هو معلمة استعلام.

ها هو الرمز
أكسيوس
.get ('http: // localhost: 8080 / customer / search؟ hint = da')

حيث تلميح = "searchText"

الرجاء المساعدة.

شكرا!

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