JSON PHP
JSON µÄ³£¹æÓÃ;ÊÇ´Ó web ·þÎñÆ÷¶ÁÈ¡Êý¾Ý£¬È»ºóÔÚÍøÒ³ÖÐÏÔʾÕâЩÊý¾Ý¡£
±¾ÕÂÏòÄú½²½âÈçºÎÔÚ¿Í»§¶ËÓë PHP ·þÎñÆ÷Ö®¼ä½»»» JSON Êý¾Ý¡£
PHP Îļþ
PHP Ìṩ´¦Àí JSON µÄÄÚ½¨º¯Êý¡£
ͨ¹ýʹÓà PHP º¯Êý json_encode()£¬PHP ÖеĶÔÏó¿Éת»»Îª JSON£º
PHP Îļþ
<?php
$myObj->name = "Bill Gates";
$myObj->age = 62;
$myObj->city = "Seattle";
$myJSON = json_encode($myObj)
;
echo $myJSON;
?>
¿Í»§¶Ë JavaScript
ÕâÊǿͻ§¶ËÉ쵀 JavaScript£¬Ê¹Óà AJAX µ÷ÓÃÀ´ÇëÇóÉÏÀýµÄ PHP Îļþ£º
ʵÀý
ʹÓà JSON.parse() °Ñ½á¹ûת»»Îª JavaScript ¶ÔÏó£º
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText)
;
document.getElementById("demo").innerHTML = myObj.name;
}
};
xmlhttp.open("GET", "demo_file.php", true);
xmlhttp.send();
PHP Êý×é
ÔÚʹÓà PHP º¯Êý json_encode() ʱ£¬PHP ÖеÄÊý×éÒ²½«±»×ª»»Îª JSON£º
PHP Îļþ
<?php
$myArr = array("Bill Gates", "Steve Jobs", "Elon Musk");
$myJSON = json_encode($myArr)
;
echo $myJSON;
?>
¿Í»§¶Ë JavaScript
ÕâÊǿͻ§¶ËÉ쵀 JavaScript£¬Ê¹Óà AJAX µ÷ÓÃÀ´ÇëÇóÉÏÀýµÄ PHP Îļþ£º
ʵÀý
ÇëʹÓà JSON.parse() ½«½á¹ûת»»Îª JavaScript Êý×飺
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText)
;
document.getElementById("demo").innerHTML = myObj[2];
}
};
xmlhttp.open("GET", "demo_file_array.php", true);
xmlhttp.send();
PHP Êý¾Ý¿â
PHP ÊÇ·þÎñÆ÷¶Ë±à³ÌÓïÑÔ£¬Ó¦¸ÃÓÃÓÚÖ»ÄÜÓÉ·þÎñÆ÷Ö´ÐеIJÙ×÷£¬±ÈÈç·ÃÎÊÊý¾Ý¿â¡£
ÏëÏóһϷþÎñÆ÷ÉÏÓÐÒ»¸öÊý¾Ý¿â£¬°üº¬¿Í»§¡¢²úÆ·ºÍ¹©Ó¦ÉÌÊý¾Ý¡£
´Ë¿Ì£¬ÄúÐèÒªÇëÇó·þÎñÆ÷À´»ñÈ¡¡°¿Í»§¡±±íÖÐǰʮÌõ¼Ç¼£º
ʵÀý
ÇëʹÓà JSON.stringify() ½« JavaScript ¶ÔÏóת»»Îª JSON£º
obj = { "table":"customers", "limit":10 };
dbParam = JSON.stringify(obj)
;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "demo_json_db.php?x=" + dbParam, true);
xmlhttp.send();
Àý×Ó½âÊÍ£º
- ¶¨Òå°üº¬ table ÊôÐÔºÍ limit ÊôÐԵĶÔÏó¡£
- ½«Õâ¸ö¶ÔÏóת»»Îª JSON ×Ö·û´®¡£
- ÏòÕâ¸ö PHP Îļþ·¢ËÍÇëÇ󣬯äÖÐ JSON ×÷Ϊ²ÎÊý¡£
- µÈ´ýÖ±µ½ÇëÇ󷵻ؽá¹û£¨×÷Ϊ JSON£©¡£
- ÏÔʾ´Ó PHP Îļþ½ÓÊÕµ½µÄ½á¹û¡£
²é¿´ PHP Îļþ
PHP Îļþ
<?php header("Content-Type: application/json; charset=UTF-8"); $obj =json_decode($_GET["x"], false)
; $conn = new mysqli("myServer", "myUser", "myPassword", "Northwind"); $result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit); $outp = array(); $outp = $result->fetch_all(MYSQLI_ASSOC); echojson_encode($outp)
; ?>
PHP Îļþ½âÊÍ£º
- ½«ÇëÇóת»»Îª¶ÔÏó£¬Ê¹Óà PHP º¯Êý json_decode()¡£
- ·ÃÎÊÊý¾Ý¿â£¬ÓÃËùÇëÇóµÄÊý¾ÝÌî³äÊý×é¡£
- °ÑÊý×éÌí¼Óµ½¶ÔÏó£¬Ê¹Óà json_encode() º¯ÊýÒÔ JSON ·µ»Ø¸Ã¶ÔÏó¡£
±éÀú½á¹û
°Ñ´Ó PHP Îļþ½ÓÊÕµ½µÄ½á¹ûת»»Îª JavaScript ¶ÔÏ󣬻òÕßÊÇÔÚ±¾ÀýÖеģ¬Ò»¸ö JavaScriptÊý×飺
ʵÀý
ʹÓà JSON.parse() °Ñ JSON ת»»Îª JavaScript ¶ÔÏó£º
...
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myObj = JSON.parse(this.responseText)
;
for (x in myObj) {
txt += myObj[x].name + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
};
...
PHP ·½·¨ = POST
ÔÚÏò·þÎñÆ÷·¢ËÍÊý¾Ýʱ£¬Í¨³£×îºÃÊÇʹÓà HTTP POST ·½·¨¡£
ÈçÐèʹÓà POST ·½·¨À´·¢ËÍ AJAX ÇëÇó£¬ÇëÖ¸¶¨¸Ã·½·¨ºÍÕýÈ·µÄÍ·²¿¡£
·¢Ë͵½·þÎñÆ÷µÄÊý¾ÝÏÖÔÚ±ØÐëÊÇ .send() ·½·¨µÄ²ÎÊý£º
ʵÀý
obj = { "table":"customers", "limit":10 }; dbParam = JSON.stringify(obj); xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); for (x in myObj) { txt += myObj[x].name + "<br>"; } document.getElementById("demo").innerHTML = txt; } }; xmlhttp.open("POST", "demo_json_db.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send("x=" + dbParam);
PHP ÎļþÖеÄΨһ²»Í¬ÊÇ»ñÈ¡±»´«ÊäÊý¾ÝµÄ·½·¨¡£
PHP Îļþ
ʹÓà $_POST ¶ø²»ÊÇ $_GET£º
<?php
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_POST["x"], false);
$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
$result = $conn->query("SELECT name FROM ".$obj->$table." LIMIT ".$obj->$limit);
$outp = array();
$outp = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($outp);
?>