Пробовал здесь и здесь - безуспешно
function abc() {
var sky = 'blue';
var earth = 'deep';
var sun = 'gold';
$.ajax({
url: 'images.php',
type: 'post',
data: {'earth': earth, 'sun': sun, 'sky': sky},
success: function(data) {
// here I want new values as js array from php array
}
});
}
images.php
... some code...
$sky = "over";
$earth = "down";
$sun = "middle";
echo array($sky, $earth, $sun);
Приведенный выше очень упрощенный пример. На самом деле мои переменные внутри массива php намного сложнее. Поэтому я не хочу использовать метод конкатенации на стороне php и строку split на стороне js.
@iainn, уже сказал - пробовал по той ссылке - такого примера нет.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


используйте JSON для взаимодействия между PHP и JS. PHP должен делать:
echo json_encode($myArray);
и Jquery, скорее всего, должен работать с http://api.jquery.com/jquery.getjson/
используйте json_encode для отправки данных обратно в ваш JS-код.
Ваша сторона JS:
function abc() {
var sky = 'blue';
var earth = 'deep';
var sun = 'gold';
$.post('images.php', {'earth': earth, 'sun': sun, 'sky': sky}).done(
function(json) {
data = JSON.parse(json);
//use data
}
});
}
images.php:
$sky = "over";
$earth = "down";
$sun = "middle";
echo json_encode(array($sky, $earth, $sun));
Спасибо, я буду стараться. Просто - можно ли такое же написать по структуре функции ajax - success?
да, вы можете, это традиционный способ обработки обратного вызова успеха jquery, но, поскольку реализация $ .Deferreds и более сложных обратных вызовов, done является предпочтительным способом реализации обратных вызовов успеха.
Возможный дубликат Как передать переменные и данные из PHP в JavaScript?