Параметр преобразован из массива в строку из-за запроса ajaxJquery

Программирование на jquery
Ответить
Anonymous
 Параметр преобразован из массива в строку из-за запроса ajax

Сообщение Anonymous »


Я пытаюсь получить данные через ajax, поэтому я использовал $phrase для перевода текста, но я думаю, что из-за запроса ajax $phrase преобразуется в строку, тогда как изначально это массив.

Как вы можете видеть (приведено в примере:- 1) var_dump($phrases); без ajax, показывающего результат в массиве, но var_dump($phrases);

внутри if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') { показывая эту строку (4) "home " string(4) "home" и я передал $phrases из контроллеров index() в подкатегорию($phrases)

поэтому помогите мне это исправить

Пример:- 1

array(3140) { ["absolutely"]=> string(23) "बिल्कुल" ["achieve"]=> string(58) "प्राप्त करना" } контроллеры

класс Lispo расширяет BaseController { индекс публичной функции() { $commonData = $this->getCommonData(); //[[ Доступ к переменной $phrase и $selectedLanguage из общих данных ]]// $phrases = $commonData['фраза']; $this->подкатегория($фразы); }//здесь другой код подкатегория публичной функции ($phrases) { if (isset($_POST['csrf_token']) && CSRFHelper::verifyCsrfToken($_POST['csrf_token'])) { require_once 'приложение/модели/категория.класс.php'; require_once 'app/libs/cryptor.class.php'; $crypt = новый Криптор(); $categoryModel = новая категория(); $translator = новый TextTranslator($phrases); $id = Trim($_POST['dataId']); $results = $categoryModel->getCategoriesWithSubcategories($id); $html = ''; foreach ($results как $subcategory) { // Добавляем условие для статуса 0 $statusClass = ($subcategory->status == 0) ? 'fa-solid fa-lock': 'би-би-шеврон-право'; $disableClass = ($subcategory->status == 0) ? 'отключить щелчок': ''; $subid = $crypt->encryptId($subcategory->catID); $subcategoryName = $translator->translateText($subcategory->category); $html .= '' . $имяподкатегории. ''; } // Вместо echo json_encode($html); echo json_encode(['success' => true, 'html' => $html]); } } } AJAX
$(document).on("click", ".s_zpSpH4", function (e) { е.preventDefault(); var csrf_token = $(".csrf_token").val(); var dataId = $(this).data("id"); вар clickedElement = $(this); // Сохраняем ссылку на выбранный элемент $.ajax({ тип: "ПОСТ", URL: BASEURL + «lispo/подкатегория», данные: { csrf_token: csrf_token, dataId: dataId }, Тип данных: «JSON», успех: функция (данные) { console.log(данные); если (данные.успех) { щелкнулЭлемент.hide(); // Используем сохраненную ссылку, чтобы скрыть выбранный элемент $('.s_qeV3Mr').html(data.html); } еще { console.log(data.error); } }, ошибка: функция (ошибка) { // Обрабатываем ошибки, если они есть console.error("Ошибка AJAX:", error); console.log(error.responseText); }, }); });
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»