Member 13435586 Ответов: 1

Как вернуть ajax-запрос ответа из PHP-файла с ключевым словом "return" вместо "echo"?


Я хочу вернуть запрошенные данные, которые включали элементы формы с именем массива, например name="desc[]" и т. д. Когда я Эхо-результат из php-файла, он выдает ошибку "Notice: Array to string conversion", так как же преодолеть эту проблему? Я добавляю этот ответ в таблице элемента tbody кнопке

Что я уже пробовал:

Мой звонок Аякса

  $.ajax({
    type: "POST",
    url: "ajaxRequests/createVrEntriesRows.php",
    data: "form_data=" + form_data +"&rows=" + rows,
    success: function(response){

        $('#VR_Entries').append(response);

    }
});


Мой Php-файл

<?php 

  require_once '../controllers/conn.php'; 

		if(isset($_POST["form_data"])){

			extract($_POST);

			$parts = explode('/', $domain_class);

			$class = isset($parts[0])?$parts[0]:'';
			$sub_class = isset($parts[1])?$parts[1]:'';
			$domain = isset($parts[2])?$parts[2]:'';

			$sr_no = $_POST['rows']+1;

			return '<tr>
                    <td>
                        <input type="hidden" name="sr_no[]" value="'.$sr_no.'">'.$sr_no.'
                    </td>
                    <td>
                        <input type="hidden" name="job[]" value="'.$job.'">'.$job.'
                    </td>
                    <td>
                        <input type="hidden" name="account[]" value="'.$account.'">'.$account.'
                    </td>
                    <td>
                        <input type="hidden" name="class[]" value="'.$class.'">'.$class.'
                    </td>
                    <td>
                        <input type="hidden" name="sub_class[]" value="'.$sub_class.'">'.$sub_class.'
                    </td>
                    <td>
                        <input type="hidden" name="domain[]" value="'.$domain.'">'.$domain.'
                    </td>
                    <td>
                        <input type="hidden" name="desc[]" value="'.$description.'">'.$description.'
                    </td>
                    <td class="debit">
                        <input type="hidden" name="debit[]" value="'.$debit.'">'.$debit.'
                    </td>
                    <td class="credit">
                        <input type="hidden" name="credit[]" value="'.$credit.'">'.$credit.'
                    </td>
                     <td>
                        <button type="button" class="btn" onclick="DeleteRowFunction(this)">x</button>
                        <button type="button" class="btn">
                            
                        </button>
                     </td>
                  </tr>';
		}

?>

1 Ответов

Рейтинг:
1

summiya1

прежде всего , никогда не добавляйте html-фрагмент внутри php-файлов, он не хорош для читаемости, повторного использования и отладки.

здесь вы можете создать отдельное представление и вызвать его по методу return или добавить представление в

json_encode
.