±¾ÎÄÕÂÓɳɶ¼´´Ð»¥ÁªÍøÕ¾½¨ÉèÕûÀíÌṩ£¬Ö÷Òª½éÉÜÁË´ÓjsonÊý¾ÝÉú³Éµ½ÀûÓÃjsÀ´½ÓÊÜjsonÊý¾Ý²¢ÇÒ´¦ÀíjsonÊý¾Ý½øÐÐÊä³ö£¬ÓÐÐèÒªµÄÅóÓѿɲο¼²Î¿¼¡£
js¶ÁÈ¡JSONµÄ·½·¨ÎÒ½Ó´¥µ½µÄÓÐÁ½ÖÖ£º
·½·¨Ò»£ºº¯Êý¹¹Ô춨Òå·¨·µ»Ø
| ´úÂëÈçÏ |
var strJSON = "{name:'json name'}";//µÃµ½µÄJSON
var obj = new Function("return" + strJSON)();//ת»»ºóµÄJSON¶ÔÏó
alert(obj.name);//json name |
·½·¨¶þ£ºjsÖÐÖøÃûµÄevalº¯Êý
| ´úÂëÈçÏ |
var strJSON = "{name:'json name'}";//µÃµ½µÄJSON
var obj = eval( "(" + strJSON + ")" );//ת»»ºóµÄJSON¶ÔÏó
alert(obj.name);//json name |
µÚ¶þÖÖ·½·¨ÐèҪעÒâµÄÊÇ£¬¶ÔÏó±í´ïʽ{'name':'json name'}±ØÐëÓÓ£¨£©”À©×¡£¬·ñÔò
| ´úÂëÈçÏ |
var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(obj.constructor);//String ¹¹Ô캯Êý
alert(obj.name);//undefine |
±ØÐë°Ñ¶ÔÏó±í´ïʽÀ©ÆðÀ´evalÖ´ÐвÅÄÜÉú³ÉÒ»¸öÄäÃû¶ÔÏó!
JS¿çÓò½ÓÊÕJSONÊý¾Ý
PHP½Å±¾·þÎñ¶Ë
| ´úÂëÈçÏ |
<?php
if(isset($_GET['callback']) && !empty($_GET['callback'])) {
echo $_GET['callback'] . '({"name":"̤ѩ²ÐÇé", "profession":"phper"})';
}
?> |
$_GET['callback']¼´ÊÇÔÚ¿Í»§¶ËÒªµ÷ÓõÄJSº¯ÊýÃû£¬{"name":"̤ѩ²ÐÇé", "profession":"phper"}¼´·þÎñ¶Ë·µ»ØµÄJSONÊý¾Ý¡£
JS¿Í»§¶Ë
| ´úÂëÈçÏ |
<script type="text/javascript">
function func(data) {
alert('ÐÕÃû:' + data.name + ', Ö°Òµ:' + data.profession);
}
</script>
<script type="text/javascript" src="/technology/jsonp/server.php?callback=func"></script> |
Äã¿ÉÒÔÔÚ±¾µØÖ´ÐУ¬½á¹û½«µ¯³ö“ÐÕÃû:̤ѩ²ÐÇé, Ö°Òµ:phper”¡£
JQueryÓ¦ÓÃ
JQueryµÄgetJSONº¯ÊýÒѼ¯³ÉÁË¿çÓò·ÃÎʵŦÄÜ£¬ÐèÔÚurlµÄµØÖ·ÉϸúÉÏÒ»¸ö²ÎÊý£¬²ÎÊýÖµÓÃ?ռλ·ûÌæ´ú£¬ÈçÏÂËùʾ£¬Ö´ÐÐʱJQuery»á°Ñռλ·û×Ô¶¯Ì滻Ϊʱ¼ä´ÁµÄº¯ÊýÃû¡£
| ´úÂëÈçÏ |
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$.getJSON('/technology/jsonp/server.php?callback=?', function(data) {
alert('ÐÕÃû:' + data.name + ', Ö°Òµ:' + data.profession);
});
</script> |
½ÓÊܺóÎÒÃÇÐèÒª´¦ÀíjsonÊý¾Ý
| ´úÂëÈçÏ |
function showUserList()
{
postXmlHttp("./UserListServlet.do","UserCallback(resultValue)","Loading()");
}
function UserCallback(jsonDate)
{
//jsonÊý¾Ý ÐòÁл¯³Éjs¶ÔÏó
var jsObject = eval('('+jsonDate+')');
var htmlStr = "<table align=center width=60%>"+
"<tr>"+
"<th>Óû§ID</th><td>ÃÜÂë</td><td>Óû§Ãû</td><td>λÖÃ</td><td>²Ù×÷</td>"+
"</tr>";
for(var i=0;i<jsObject.length;i++)
{
htmlStr+="<tr id='tr"+i+"'>"+
"<td>"+jsObject[i].userid+"</td>"+
"<td>"+jsObject[i].pword+"</td>"+
"<td>"+jsObject[i].username+"</td>"+
"<td>"+jsObject[i].position+"</td>"+
"<td><a herf='#' onclick="editUser(tr"+i+");">±à¼</a></td>"+
"</tr>";
}
div.innerHTML=htmlStr+"</table>";
}
function Loading()
{
//div.style="with:100%;text-align:center";
div.innerHTML="<font color=red>ÕýÔÚ»ñÈ¡Êý¾ÝÇëÉÔºò... ...</font>";
} |