微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Ajax请求的响应中优雅地处理JSON对象?

我真的很想使用 JSON来处理我的Ajax请求和响应周期.我之前只使用了作为POST数据传递的普通旧参数,并且我在响应中呈现了直接HTML,然后将其放入DOM中.当我查看各种示例并阅读各种教程时,简单地从混合了HTML的JSON对象构建字符串似乎是一种相当普遍的做法,该字符串已被硬编码到字符串中,然后将字符串作为innerHTML分配给某个元素.

一个常见的例子看起来像这样:

var jo = eval(req.responseText);

var strTxt = '<span>' + jo.f_name + ' ' + jo.l_name + '</span><br/>' + 'Your Age Is: ' + jo.age + '<br/>'; 

$('myDiv').innerHTML = strTxt;

是否有一种更优雅(或更正确)的方式来处理JSON响应,这样我就不会在javascript中对HTML进行硬编码?或者这是人们如何做到的?

附:赞赏教程或其他来源的链接.

解决方法

我避免在JavaScript字符串中编写大量HTML.我更喜欢将结构与数据操作分开.更好的选择是将该代码放在页面中,根据ID加载值,并在必要时显示/隐藏它:

<div id="codeBlock" style="visible=false;">
<span id="val1"></span>
<br/>
<span id="val2"></span>
<br/>
</div>
............
<script>
var jo = eval(req.responseText);
$('val1').innerHTML = jo.f_name + ' ' + jo.l_name;
$('val2').innerHTML = 'Your Age Is: ' + jo.age;
$('codeBlock').show();
</script>

这可能不是你想要做的,但你明白了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐