У меня есть 3 файла main.php, action.js и ajax.php, и я успешно сменил контент на клик некоторых div с main.php на некоторый ajax.php с помощью ajax-вызова в моем файле javascript. Это выглядит так:
var value = $(this).attr("id"); $.ajax({ type: 'get', url: "ajax.php", data: { auto_value: value }, success: function(response) { $('.gridnr1, .textnr1').fadeOut(400, function(){ $('.textnr2, .gridnr2').fadeIn(400); }); var newtextcaption = $(response).filter('#newtextcaption').html(); var box = $(response).filter('#box').html(); $('#textnr2').html(newtextcaption); $('#gridnr2').html(box); for (var i=0; i<VALUE_FROM_AJAXphp; i++) { DO SOMETHING WITH i; } });
Теперь мне нужно вернуть значение из функции в ajax.php в моем action.js, потому что я хочу итерации до этого значения (см. Код выше). Как передать это значение из ajax.php в action.js. Я смущен, что мне нужно, чтобы получить значение ajax ?, json? или что-то другое?
Спасибо.
в функции успеха, ответ, это то, что вы получаете от PHP. поэтому отправка JSON будет проще всего, потому что тогда ваш ответ – всего лишь объект.
Допустим, ajax.php возвращает этот JSON
{ "newtextcaption": "whatever the text is", "boxhtml": "whatever your box html is", "AjaxValue": 4389489473289 }
то ваша функция успеха должна быть
success: function(response) { $('.gridnr1, .textnr1').fadeOut(400, function(){ $('.textnr2, .gridnr2').fadeIn(400); }); var newtextcaption = response.newtextcaption; var box = response.boxhtml; $('#textnr2').html(newtextcaption); $('#gridnr2').html(box); for (var i=0; i<response.AjaxValue; i++) { DO SOMETHING WITH i; }