# "URL-Encoding Bodies"
بەشێوەیەکی بنەڕەت، ئەکسیۆس ئۆبجێکتەکانی جاڤاسکریپت serialize ئەکات بۆ JSON
. بۆ ناردنی داتا بە شێوەی application/x-www-form-urlencoded
، ئەتوانی یەکێک لە بژاردانەی خوارەوە بەکاربهێنی.
# وێبگەڕ
لە وێبگەڕدا، ئەتوانی ناوبەندی URLSearchParams
(opens new window) بەکاربهێنیت وەک ئەمەی خوارەوە:
const params = new URLSearchParams();
params.append("param1", "value1");
params.append("param2", "value2");
axios.post("/foo", params);
تێبینی ئەوە بکە
URLSearchParams
لە هەموو وێبگەڕەکان پشتگیری نەکراوە (بڕوانە caniuse.com (opens new window))، بەڵام polyfill (opens new window)ـێک بەردەستە (دڵنایبەرەوە لە polyfill کردنی ژینگە گشتییەکە).
لە جیاتی ئەوە، ئەتوانی داتاکە encode بکەیت بەبەکارهێنانی کتێبخانەی qs
(opens new window):
const qs = require("qs");
axios.post("/foo", qs.stringify({ bar: 123 }));
یان بە ڕێگایەکی دیکە (ES6)،
import qs from "qs";
const data = { bar: 123 };
const options = {
method: "POST",
headers: { "content-type": "application/x-www-form-urlencoded" },
data: qs.stringify(data),
url,
};
axios(options);
# نۆد
# کتێبخانەی Query string
لە نۆددا، ئەتوانی querystring
(opens new window) module بەکاربهێنیت بەم شێوازەی خوارەوە:
const querystring = require("querystring");
axios.post("http://something.com/", querystring.stringify({ foo: "bar" }));
یان 'URLSearchParams' (opens new window) لە 'url module' (opens new window)ـەوە بەم شێوەیەی خوارەوە:
const url = require("url");
const params = new url.URLSearchParams({ foo: "bar" });
axios.post("http://something.com/", params.toString());
هەروەها ئەتوانی کتێبخانەی qs
(opens new window) بەکاربهێنیت.
# تێبینی
کتێبخانەی qs
پەسندترە ئەگەر ئەتەوێ stringifyـی ئۆبجێکتیێکی قوڵ بکەیت، چونکە شێوازی querystring
چەند کێشەیەکی دیاری هەیە بۆ ئەم بەکارهێنانە(https://github.com/nodejs/node-v0.x-archive/issues/1665 (opens new window))
# شێوازی Form data
لە نۆددا، ئەتوانی کتێبخانەی form-data
(opens new window) بەکاربهێنیت بەم شێوازەی خوارەوە:
const FormData = require("form-data");
const form = new FormData();
form.append("my_field", "my value");
form.append("my_buffer", new Buffer(10));
form.append("my_file", fs.createReadStream("/foo/bar.jpg"));
axios.post("https://example.com", form, { headers: form.getHeaders() });
لەجیاتی ئەوە، ئەتوانی ناوەندگیرێک بەکاربهێنیت:
axios.interceptors.request.use((config) => {
if (config.data instanceof FormData) {
Object.assign(config.headers, config.data.getHeaders());
}
return config;
});