سلام دوستان
من یک سایت با 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);
});
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟