科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道详谈基于JSON的高级AJAX开发技术

详谈基于JSON的高级AJAX开发技术

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文将解释如何使用AJAX和JSON分析器在客户端和服务器之间创建复杂的JSON数据传输层。

作者:佚名 来源:天极论坛整理 2007年10月13日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

五、 把JSON反串行化为客户端JavaScript对象

  在本文中,我简单地把一个静态文件创建为JSON响应,但是在实际开发中,你可以把这些数据存储在一个数据库中并且使用一种服务器端语言返回它。基于这一能力,我们就可以轻松地创建一种强有力的数据交换过程!在前面,我们已经分析了这一串行化过程。凭基本的AJAX体验,你应该能够理解数据是如何被寄送到服务器端的。现在,让我们着手讨论反串行化的问题。首先来看一个针对本文示例提供的静态JSON文件。这个文件其实是我们在上一节中串行化的数据:

以下是引用片段:
{"Car":{"color":"#333","Wheel":{"color":"#000"}}}

  作为一个请求JSON文件的示例,当我们点击下列链接时将请求这个串行化的Auto对象:

以下是引用片段:
<a href="javascript:AjaxUpdater.Update(’GET’, ’json/data.js’, displayResponse);">Get remote JSON</a>

  一旦接收到响应消息,我们的称为displayResponse回调方法就会被激活,然后,我们就能够反串行化并开始使用这些对象:

以下是引用片段:
<script type="text/javascript">
function displayResponse()
{
 if(Ajax.checkReadyState(’loading’) == "OK")
 {
  var Auto = Ajax.request.responseText.parseJSON();
  document.getElementById("body").innerHTML += "
<b>Remote JSON unserialized</b>";
  document.getElementById("body").innerHTML += "
Car color: "+Auto.Car.color;
  document.getElementById("body").innerHTML += "
Wheel color: "+Auto.Car.Wheel.color;
 }
}
</script>

  这是相当激动人心的一部分!一旦我们拥有了该responseText,我们就能够简单地使用JSON分析器中的parseJSON方法来从串行化的数据中重建我们的Auto对象。借助于这个新的Auto对象,我们就可以调用相应的子对象。这个特征允许我们在服务器和客户端来回发送对象—而不必进行大量的分析工作,然而在以前标准的XML响应情况下我们将却必须这样做。这样以来,我们就可以创建出能够基于AJAX技术来保留自身状态的客户端JavaScript对象

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章