Как отправить несколько параметров с сервера на карту js

#jquery #laravel-5

#jquery #laravel-5

Вопрос:

В моем приложении laravel 5.7 / jQuery 3 мне нужно отправить несколько параметров с сервера

 $retArray= ['error_code' => 0, 'message' => ''];

foreach( $requestData as $next_param_name ) {
    if( $next_param_name == 'customerAccountTypeValueArray' ) {
        $retArray['customerAccountTypeValueArray']= Customer::getCustomerAccountTypeValueArray(false);
    }
    if( $next_param_name == 'customerStatusValueArray' ) {
        $retArray['customerStatusValueArray']= Customer::getCustomerStatusValueArray(false);
    }
}

return response()->json( $retArray, 200);
  

и в массиве retArray есть такие данные, как :

 Array
(
    [error_code] => 0
    [message] => 
    [customerAccountTypeValueArray] => Array
        (
            [I] => Individual
            [B] => Business
        )

    [customerStatusValueArray] => Array
        (
            [A] => Active
            [I] => Inactive
            [N] => New
        )

)
  

Но я получил ошибку Javascript :

 Error in render: "TypeError: selectionsList.map is not a function" found in
  

с моим кодом JS:

axios.post(‘/api/dashboard-settings’, paramsArray) .then((ответ) => {

 selectionsList= response.data.customerAccountTypeValueArray,
selectionsList.map((nextSelection, index) => {
  

похоже, что selectionsList не является массивом элементов, как я ожидал. Какой правильный путь?

Изменено: вот как я вижу данные с сервера в консоли браузера:https://imgur.com/a/jH6Juyo и я установил его позже в качестве параметра. Спасибо!

Комментарии:

1. Пожалуйста, посмотрите на измененный блок

Ответ №1:

Попробуйте вернуть массив объектов с преобразованием данных:

         $tempDataArray= Model::getSomeDataArray();
        $retArray= [];
        foreach( $tempDataArray as $next_key=>$next_value ) {
            $retArray[]= (object)$next_value;
        }
        return response()->json( $retArray, 200);