Förmodligen är det enklaste sättet att få en php-fil att returnera JSON. Så låt oss säga att du har filen query.php
,
$result = mysql_query("SELECT field_name, field_value
FROM the_table");
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
$to_encode[] = $row;
}
echo json_encode($to_encode);
Om du är tvungen att använda document.write (som du noterar i kommentarerna nedan), ge dina fält ett id-attribut så här:<input type="text" id="field1" />
. Du kan referera till det fältet med denna jQuery:$("#field1").val()
.
Här är ett komplett exempel med HTML. Om vi antar att dina fält heter field1
och field2
, sedan
<!DOCTYPE html>
<html>
<head>
<title>That's about it</title>
</head>
<body>
<form>
<input type="text" id="field1" />
<input type="text" id="field2" />
</form>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
$.getJSON('data.php', function(data) {
$.each(data, function(fieldName, fieldValue) {
$("#" + fieldName).val(fieldValue);
});
});
</script>
</html>
Det är infogning efter att HTML har konstruerats, vilket kan vara enklast. Om du menar att fylla i data medan du dynamiskt konstruerar HTML, så vill du fortfarande att PHP-filen ska returnera JSON, du lägger bara till den direkt i value
attribut.