Я обнаружил проблему при отправке массива значений в бэкэнд, на бэкэнде я установил его для приема массива значений. но когда я проверил почтальона, функция работала успешно. но когда я реализую это на внешнем интерфейсе, где я использую vuejs, функция не работает. сообщение, которое сервер отправляет, когда бэкенд обращается к API, показано ниже.
В этом случае мне сложно передать массив значений параметров. была ли ошибка, когда я кинул значение. Спасибо за помощь
CODE BACKEND метод POST
public function storeInsert(Request $request)
{
$data= $request->get('data');
$response = gradingakhir::insert(json_decode($data, true)); // Eloquent approach
return response()->json([
'code' => 1,
'success' => true,
'message' => 'Data berhasil ditambah!',
'data' => $data
], Response::HTTP_OK);
}
#FONT END CODE
var params = {
data: this.dataStoreGradding,
}
console.log(this.dataStoreGradding)
console.log(params)
const res = await apiService.postGradingAkhir(params).then(res => res)
# CODE SERVICE HIT FRONT END TO BACKEND
postGradingAkhir(param) {
const url = `${API_URL_DEV}post-grading-akhir`
options.headers.Authorization = 'bearer ' + localStorage.getItem('token')
const data = axios
.post(url, param, options)
.then(response => response.data)
.catch(err => err)
return data
}
Вы должны отправить массив через FormData следующим образом:
let params = new FormData;
let arr = ['this', 'is', 'an', 'array'];
for (var i = 0; i < arr.length; i++) {
params.append('arr[]', arr[i]);
}
postGradingAkhir(params) {
const url = `${API_URL_DEV}post-grading-akhir`
options.headers.Authorization = 'bearer ' + localStorage.getItem('token')
const data = axios
.post(url, params, options)
.then(response => response.data)
.catch(err => err)
return data
}