سلام دوستان
من یک سایت با react نوشتم و میخواهم اطلاعات یک فرم ( شامل اطلاعات ساده و سه عدد عکس ) را برای سرور ارسال و آپلود کنم.
از اونجا که برای آپلود باید با formData کار کرد این درخواست رو با فرم دیتا ارسال میکنم اما ...
اعتبار سنجی انجام نمیشه و درخواست من 422 میگیره ممنون میشم اگر کمکم کنید.
درخواست سمت فرانت و ری اکت :
var fd = new FormData(); fd.append('f_name', this.state.f_name); fd.append('l_name', this.state.l_name); fetch(REGISTER_URL, { method: 'POST', headers: { "Accept": "application/json", "Content-Type": "application/json" }, timeout: 5000, body: fd }) .then(response => { return response.json(); }) .then(response => { ... }) .catch(error => { console.log(error); });
سمت لاراول و سرور :
$this->validate($request, [ 'f_name' => 'required|min:2', 'l_name' => 'required|min:2', ]);
نکته : جوابی که از سرور میگیرم بهم میگه فیلد f_name ارسال نشده !
ممنون
دوستان در نظر داشته باشید state های من مقدار دارند و خالی نیستند.
همچنین فکر نکنم مشکل مربوط به هدر هم باشه
@mghanaty
سلام ببخشید دیر جوابتون رو دادم.
const fd = new FormData(); fd.append("profile_pic", this.state.profile_pic); axios .post(REGISTER_URL, fd, { onUploadProgress: e => { this.setState({ // for show persent progress progress: Math.round((e.loaded / e.total) * 100) + " %" }); } }) .then(response => { console.log(response) }) .catch(error => { console.log(error.response.data); console.log(error.response.status); console.log(error.response.headers); });
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟