JSON: 介绍应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON: 介绍应用相关的知识,希望对你有一定的参考价值。
ylbtech-JSON: 介绍、应用 |
JSONP(JSON with Padding)是 JSON 的一种“使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
为什么我们从不同的域(网站)访问数据需要一个特俗的技术(JSONP)呢?这是因为同源策略。
同源策略,它是由 Netscape 提出的一个著名安全策略,现在所有支持 javascript 的浏览器都会使用这个策略。
1. JSONP 应用返回顶部 |
2. 服务器端 JSONP 格式数据返回顶部 |
如客户想访问:http://www.runoob.com/try/ajax/jsonp.php?jsonp=callbackFunction
假设客户期望返回 JSONP 数据:["customername1","customername2"]。
2.1 真正返回到客户端的数据显示为:(["customername1","customername2"])
2.2 (实例给出)真正返回到客户端的数据显示为:callbackFunction(["customername1","customername2"])
服务器端文件 jsonp.php 代码为:
<?php header(‘Content-type: appliaction/json‘); //获取回调函数名 $jsoncallback=htmlspecialchars($_REQUEST[‘jsoncallback‘]); //json 数据 $json_data=‘["customername1","customername2"]‘; //输出 jsonp 格式的数据 echo $jsoncallback . "(" . $json_data . ")"; ?>
3. 客户端实现 callbackFunction 函数返回顶部 |
<script type="text/javascript"> function callbackFunction(result, methodName) { var html = ‘<ul>‘; for (var i = 0; i < result.length; i++) { html += ‘<li>‘ + result[i] + ‘</li>‘; } html += "</ul>"; document.getElementById("divCustomers").innerHTML = html; } </script>
页面展示
<div id="divCustomers"></div>
客户端页面完整代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JSONP 实例</title> </head> <body> <div id="divCustomers"></div> <script type="text/javascript"> function callbackFunction(result,methodName) { var html = ‘<ul>‘; for (var i = 0; i < result.length; i++) { html += ‘<li>‘ + result[i] + ‘</li>‘; } html += "</ul>"; document.getElementById("divCustomers").innerHTML = html; } </script> <script type="text/javascript" src="http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=callbackFunction"></script> </body> </html>
4. jQuery 使用 JSONP返回顶部 |
以上代码可以使用 jQuery 代码实例:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>JSNP 实例</title> <meta charset="utf-8" /> <script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script> </head> <body> <div id="divCustomers"></div> <script> $.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function (data) { var html = ‘<ul>‘; for(var i=0;i<data.length;i++) { html += ‘<li>‘ +data[i]+ ‘</li>‘; } html += "</ul>"; $(‘#divCustomers‘).html(html); }); </script> </body> </html>
5.返回顶部 |
6.返回顶部 |
7.返回顶部 |
8.返回顶部 |
9.返回顶部 |
10.返回顶部 |
11.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
以上是关于JSON: 介绍应用的主要内容,如果未能解决你的问题,请参考以下文章
json 可视代码工作室Angular with Firebase片段
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”