Intereting Posts
cURL требует CURLOPT_SSL_VERIFYPEER = FALSE Как получить разное соединение DBAL в Symfony2 Doctrine2 обеспечение подключения к серверу php php preg_replace help iframe src Как получить следующий буквенно-цифровой идентификатор на основе существующего значения из MySQL Обнаружение мобильного или настольного браузера и перенаправление на соответствующую веб-страницу безопасное экранирование имен таблиц / имен столбцов Насколько безопасна моя система входа в систему PHP? Подзапрос MySQL внутри поля ORDER BY. (без внутренней регистрации) Лучший способ передать JSON из браузера в PHP с помощью Ajax.Request dompdf изображение не настоящее изображение не читаемое или пустое Как создать токен состояния подделки анти-запроса. В регистрации google + на стороне сервера Регулярные выражения PCRE с использованием подпрограмм named pattern Получить относительный путь к родительскому каталогу .htaccess короткий и дружественный URL-адрес

Передача массива php в json дает неопределенный

Я хочу передать JSON с php на js.

Это мой php-файл:

public function upload() { $record = 0; if (!empty($_FILES)) { $config['upload_path'] = "./assets/uploads"; $config['allowed_types'] = 'csv'; $this->load->library('upload', $config); if (!$this->upload->do_upload("file")) { echo "File cannot be uploaded"; } else { $upload_data = $this->upload->data(); $csv = $upload_data['full_path']; $name_csv = $upload_data['file_name']; $tryOne = array(); if (file_exists($csv)) { $file = fopen($csv, 'r'); // r flag is for readonly mode while (( $line = fgetcsv($file) ) !== false) { // if line exists $tryOne[] = $line; // add to array } fclose($file); } echo json_encode(array( "nama_csv" => $name_csv, "path" => $csv, "isi" => $tryOne )); } } elseif ($this->input->post('file_to_remove')) { $file_to_remove = $this->input->post('file_to_remove'); unlink("./assets/uploads/" . $file_to_remove); } else { $this->listFiles(); } } 

См. Mv json. Я его отлаживаю: print_r($tryOne);

 Array ( [0] => Array ( [0] => NO [1] => COLUMN1 [2] => COLUMN2 [3] => COLUMN3 [4] => COLUMN4 [5] => COLUMN5 [6] => COLUMN6 [7] => COLUMN7 [8] => COLUMN8 [9] => COULMN9 [10] => COLUMN10 [11] => COLUMN11 [12] => COLUMN12 [13] => COLUMN13 ) [1] => Array ( [0] => 1 [1] => NYK FUJI [2] => AJU150708 [3] => [4] => 6C7132 [5] => 977NEF [6] => JKT-PTIRON WORKS [7] => 977NEF [8] => KCH8ATDM [9] => 17.9 [10] => 1690 [11] => 2150 [12] => 6C7132-1690 [13] => 175 ) [2] => Array ( [0] => 2 [1] => NYK FUJI [2] => AJU150708 [3] => [4] => 6C7132 [5] => 977NEF [6] => JKT-PTIRON WORKS [7] => 977NEF [8] => KCH8ATDM [9] => 17.9 [10] => 1700 [11] => 2138 [12] => 6C7132-1700 [13] => 176 ) ) 

Все выглядит хорошо. Но в ajax успех:

  success: function (response) { moment.locale("id"); for (i = 0; i <= response.isi.length; i++) { for (j = 0; j <= response.isi[i].length; j++) { $('#table-review').find('tbody').append("<tr>" + "<td>" + response.isi[i][j] + "</td>" + "</tr>"); } } $("#btnSave").attr("onclick", "save('" + response.path + "', '" + response.nama_csv + "')"); $('#modal_form').modal('show'); // show bootstrap modal $('.modal-title').text('Review Data Hasil Upload Dari CSV Pusat'); // Set Title to Bootstrap modal title reload_table(); listFilesOnServer(); }, 

дает мне: TypeError: response.isi [i] не определено

Я хочу отобразить этот массив в таблице в модальном бутстрапе, поэтому я снова отлаживаю его, чтобы узнать, существует ли response.isi: console.log(response.isi)

  [["NO", "COLUMN1", "COLUMN2", 11 more...] 

Я немного смущен, почему в массиве php и js массив выглядит как разные, в php разделяется на элемент, а в js разделяется запятой.

ОБНОВИТЬ

Основанное предложение ниже, я получил обратный вызов следующим образом:

  Object { 0="NO", 1="COLUMN1", 2="COLUMN2", more...} Object { 0="1", 1="NYK FUJI", 2="AJU150708 ", more...} Object { 0="2", 1="NYK FUJI", 2="AJU150708 ", more...} 

Итак, я использую для циклизации следующим образом:

  index = 1; $.each(response.isi, function (i, item) { $('#table-review').find('tbody').append("<tr>" + "<td>" + index + "</td>" + "<td>" + item.i + "</td>" + "</tr>"); index++; console.log(item); }); 

это дает мне:

 +---+-----------+ | 1 | undefined | | 2 | undefined | | 3 | undefined | +---+-----------+ 

Пожалуйста, порекомендуйте.