Проблема отправки массива, содержащего некоторую строку JSON, в AJAX из переполнения стека

Я работаю над формой, посредством которой передаю значения из внешнего интерфейса в внутренний с помощью AJAX. Из внешнего интерфейса все данные передаются нормально, за исключением того, что после выполнения некоторой логики на внутреннем интерфейсе мне необходимо перенести данные в внешний интерфейс. Данные содержатся в 2 отдельных переменных, в результате чего я преобразовал каждую в объект JSON для передачи.
Когда я dd () данных в бэкэнде, я получаю их в виде строки.

Проблема заключается в том, что когда я регистрирую ответ на вкладке консоли (из кода AJAX), я не получаю никакого ответа от бэкэнда .. Пожалуйста, помогите?

Файл контроллера, содержащий код PHP

public
function validatePlanEntries(Request $request)
{
//dd($request->all());

//Other PHP logic

//Convert data to JSON format
$form = json_encode($oldata);

//dd($form);

$planJson = json_encode($plans_benefits);

$plans = compact(['planJson' , 'form']);
//dd($plans);
return $plans;
}

AJAX-код, получающий ответ от контроллера выше

 <script>
//Other Js code

form.parsley().validate();

//Returns true if Parsley validation has no errors
if (form.parsley().isValid()){
$.ajax({
type: "POST",
url: "getplans",
data:JSON.stringify(type),
contentType: 'application/json',
dataType: "json",
success: function(response){
console.log(response);
},
failure: function(errMsg) {
alert(errMsg);
}
});
};
</script>

0

Решение

Я бы не конвертировал их в 2 отдельных значения в кодировке JSON, а вместо этого добавил бы их в 1. Итак, вместо …

//Convert data to JSON format
$form = json_encode($oldata);

//dd($form);

$planJson = json_encode($plans_benefits);

$plans = compact(['planJson' , 'form']);
//dd($plans);
return $plans;

Что-то вроде, построить массив с обеими частями данных и json_encode() результат…

return json_encode([ "form" => $oldata, "plan" => $plans_benefits]);

Вам нужно будет обновить ваш Javascript, чтобы извлечь соответствующие части ответа.

Обновить:

Я не Laravel человек, но, кажется, вы можете использовать …

return \Response::json([ "form" => $oldata, "plan" => $plans_benefits]);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector