A common Getjson in jquery to invoke and get a remote JSON string, convert it to a JSON object, and execute the callback function if successful. The prototype is as follows:
Jquery.getjson (URL, [data], [callback]) loads JSON data across domains.
URL: Send the requested address
Data: (optional) Key/value parameters to be sent
Callback: (optional) callback function on successful load
Primarily used for client-side capture of server JSON data. Simple example:
Server script, returning JSON data:
Copy Code code as follows:
$.getjson.php
$arr =array ("name" => "Zhangsan", "Age" =>20);
$jarr =json_encode ($arr);
Echo $jarr;
Note Two: First, the PHP function json_encode the data to be returned before returning to the client. Second: ECHO is returned to the client, not return.
The following is the core client code:
Copy Code code as follows:
<script language= "javascript" type= "Text/javascript" src= "./js/jquery.js" ></script>
<script language= "javascript" type= "Text/javascript" >
function Getjs ()
{
$.getjson ("$.getjson.php", {}, Function (response) {
alert (response.age);
});
}
<input type= "button" Name= "btn" id= "btn" value= "test" onclick= "Javascript:getjs ();" />
Since the return value is encoded in JSON in PHP, you must use Getjson to invoke the PHP file to get the data. At the same time, it can be noted that the data obtained through Getjson has become an array of objects, you can use response.name,response.age very intuitive to get the return value.
jquery provides a $.getjson approach that allows us to implement Cross-domain Ajax requests, but Jqueryapi is too small, how to use $.getjson to request a Web site to return what kind of database to get $.getjson, I will use a practical example to illustrate the following.
The back end is in PHP, the following code is mainly implemented a function is to provide an appointment registration interface, need to pass the data are: User name, contact telephone number and address:
Copy Code code as follows:
* * Booking Registration Implementation Interface * *
Case "Yuyue_interface":
$name = Trim ($_get[' name '));
$phone = Trim ($_get[' phone ']);
$addr = Trim ($_get[' addr ']);
$DT = Date ("y-m-d h:i:s");
$CB = $_get[' callback '];
if ($name = = "" | | $name = = NULL) {
echo $CB. " ({code: ". Json_encode (1)."});
}elseif ($phone = = "" | | $phone = = NULL) {
echo $CB. " ({code: ". Json_encode (2)."});
}elseif ($addr = = "" | | $addr = = NULL) {
echo $CB. " ({code: ". Json_encode (3)."});
}else{
$db->execute ("INSERT INTO Tb_yuyue" (Realname,telphone,danwei,dt,ischeck) VALUES (' $name ', ' $phone ', ' $addr ', ' $dt ', 0) ");
echo $CB. " ({code: ". Json_encode (0)."});
}
Exit
Break
Then there is the front end of the process:
Copy Code code as follows:
$ (document). Ready (function () {
The following 3 parameters required for an appointment registration
var name = "Name"; varchar type with a maximum length of 8 digits (4 characters)
var phone = "Phone"; varchar type, 11-bit length
var addr = "Addr"; varchar type with a maximum length of 500 digits (250 characters)
$.getjson ("http://request Web address/data.php?ac=yuyue_interface&name=" +name+ "&phone=" +phone+ "&addr=" +addr+ " &callback=? ", function (data) {
if (data.code==1) {
Custom code
Alert ("Name cannot be blank");
}else if (data.code==2) {
Custom code
Alert ("Mobile phone cannot be empty");
}else if (data.code==3) {
Custom code
Alert ("The unit cannot be empty");
}else{
Custom code
Alert ("Successful appointment");
}
});
});
It's important to note that in the back-end PHP code, the "&callback=" must be passed in. "Also lose out, such as:
Copy Code code as follows:
$CB = $_get[' callback '];
echo $CB. " ({code: ". Json_encode (4)."});
The above is a simple $.getjson experiment, through this experiment, we can learn how to use $.getjson, also can learn how to do an interface to let others cross domain request.