Извините, но я новичок в веб-разработке. В последнее время я играл с некоторыми объектами JSON и использовал пример с сайта W3school…http://www.w3schools.com/json/json_example.asp.’
Пример извлекает данные из базы данных MYSQLi и внедряет их в объект JSON. Я использовал этот пример для создания динамического сайта, но моя проблема в том, что я не уверен, нужна ли вам база данных для хранения данных. Может ли объект JSON быть непосредственно получен с сервера?
Ответ от сервера анализируется как объект JSON. т.е. var = JSON.parse (ответ)
<!DOCTYPE html>
<html>
<head>
<title>XMLHTTPREQUESTEXAMPLE</title>
</head>
<body>
<p id="id01"></p>
<script>
var xmlhttp = new XMLHttpRequest();
var url = "//http:URL";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}else{
document.getElementById("id01").innerHTML = "Server not responding";
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();function myFunction(response) {
var arr = JSON.parse(response);
var i;
var out = "<table><tr><th>Name</th><th>Job Title</th><th>Room No</th><th>Tel Ext</th><th>Email</th></tr>";for(i = 0; i < arr.length; i++) {
out += "<tr><td>" +
arr[i].Name +
"</td><td>" +
arr[i].JobTitle +
"</td><td>" +
arr[i].RoomNo +
"</td></tr>"
arr[i].TelExt +
"</td></tr>"
arr[i].Email +
"</td></tr>";
}
out += "</table>"
document.getElementById("id01").innerHTML = out;
}
</script>
</body>
</html>
Пример php-скрипта на сервере со школьного сайта W3.
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
$result = $conn->query("SELECT CompanyName, City, Country FROM Customers");
$outp = "[";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "[") {$outp .= ",";}
$outp .= '{"Name":"' . $rs["CompanyName"] . '",';
$outp .= '"City":"' . $rs["City"] . '",';
$outp .= '"Country":"'. $rs["Country"] . '"}';
}
$outp .="]";
$conn->close();
echo($outp);
?>
В этом примере для извлечения данных используется база данных MySQL, но вы можете просто вывести свои собственные данные, просто чтобы протестировать ваш AJAX с примером JSON, например, так:
<?php
$array = array(
"Key" => "value",
"Foo" => "Bar");
$jsonData = json_encode($array);
echo ($jsonData);
?>
Затем вы можете получить значения в вашем Javascript myFunction
при выполнении :
arr.Foo; //would return Bar
База данных предназначена только для хранения долгосрочных данных, она не нужна для функциональной части этого руководства.
Я думаю, что наиболее подходящий вопрос будет: «Нужна ли база данных для данных / приложений такого типа?» Или «Должен ли я использовать БД для этого типа приложения?» С технической точки зрения, нет, вам не нужна база данных для хранения и извлечения информации с сервера, но в зависимости от того, чего вы пытаетесь достичь, база данных, вероятно, будет самым мудрым решением.
ты пытался json_encode($value)
? http://php.net/manual/en/function.json-encode.php
это кодирует массив в объект json, и, конечно, вы можете хранить данные json в любом типе файла, а не только в базе данных.