Как мне посмеяться над импортом, который мой тестовый класс делает с шуткой?

Прежде всего, при работе с JSON лучшим подходом является как можно больше оставить его в покое. Подумайте, если это хрупкие товары. Все, что вы сделали с ним, могут сломать его.

С учетом этого не используйте stringify (), и на самом деле вам не нужно, поскольку JQuery обнаружит его и обработает его для вас (потому что они знаю, что он хрупкий).

Во-вторых, данные опций: в методе $ ajax () должен быть задан объект. Как правило, вы бы сделали что-то подобное

data: {mydata:divisionsJSON}

Таким образом, вы можете получить доступ к JSON на бэкэнд через

$json = json_decode($_POST['mydata']); 

Или, в зависимости от того, как у вас установлен массив массивов вы можете опубликовать его как данные объекта: ищет и обращается к нему через PHP через $ _POST ['divisions_key'] = divisions_value; но это делает всевозможные проблемы позже и жесткими связывает передний конец с задним концом, который очень плох (большую часть времени, исключение ниже).

Кроме того, если вы ожидаете ответа JSON вам нужно указать, что в исходном вызове с использованием параметра dataType: «JSON», поэтому JQuery может обращаться с ним соответствующим образом.

$.ajax({
 url: "divisions.php",
 type: "post",
 data: {mydata:divisions},
 success: function(response){
   $("#result").html(response.message);
 },
 error:function(response){
  $("#result").html(response.message);
 }   
 });

Но, прежде чем мы зашли слишком далеко, эта переменная разделения в JS беспокойство. Откуда это? Это какая-то форма? Если это так, вы можете использовать serialize (), чтобы

var divisions = $('#myform').serialize();

Это создало пары key => value, где ключ - это имя поля формы, и значение (очевидно) - значение поле. Вы можете получить доступ к значениям на PHP так же, как обычно.

При рассмотрении более раннего вопроса о том, как структурирован ваш массив, это приемлемый случай размещения данных в качестве объекта. Если это форма, структура формы в любом случае будет связана с бэкэндом по необходимости, поэтому прямое использование объекта в параметрах data: это просто. Это первая концепция «оставьте ее в покое». Последний случай здесь полностью оставляет этот объект; с момента, когда он покинет DOM до момента, когда он получил обработчик, это объект в 100% случаев.

1
задан Supperhero 12 June 2019 в 13:22
поделиться