By
WhatIsHTML
Тривиальная задача, но не получается решить ее адекватно.
Хочу сделать одностраничный сайт, с контентом , который будет подгружаться с php.
Т.е. у меня будет несколько блоков в html, которые будут изменяться динамически. Данные я хочу брать из php, где они хранятся в массиве.
<div class="menu">
<a href="#">Home</a>
<a href="#">Product</a>
<a href="#">Customers</a>
</div>
<div id="content"></div>
Есть файл php с простым массивом, который возвращается в js
<?php
$arrayName = array('title' => 'Scheduling, CRM, and Invoicing Web Application - FieldPulse Software');
echo json_encode($arrayName);
?>
json_encode возвращает строку {"title":"Scheduling, CRM, and Invoicing Web Application - FieldPulse Software"}
Функция js, которая срабатывает после клика на ссылку.
function loadPage(url) {
$.ajax({
type: "POST",
url: "content.php",
data: 'page=' + url,
dataType: "html",
success: function(msg) {
if (parseInt(msg) != 0) {
msg = msg.substring(1, msg.length - 1); //удаляем символы { } в начале и конце строки
$array = msg.split(":"); // разбиваем строку на массив по символу ":"
$('title').html($array['title']); // новый title берем из массива, но в данном случае такой ячейки нет
alert(msg); //для наглядности, выводит {"title":"Scheduling, CRM, and Invoicing Web Application - FieldPulse Software"}
}
else {
alert ('file empty!');
}
}
});
}
В результате такого разбиения получаем обычный массив. Мне надо получить ассоциативный массив где будет ячейка с именем "title" и она будет содержать соотв. строку из пхп.
Как адекватно превратить результат выполнения функции json_encode в ассоциативный массив, чтобы можно было заменить необходимые поля в html?