假设我有一个后AJAX调用,我想将返回的数据放入一些HTML元素中。

$.post(settings.url, function(data) {

$('#someElement').text(data.someData1);

$('#someElement2').text(data.someData2);

});

我是一名后端开发人员,我必须对来自用户的任何数据进行服务器端验证,这对我来说很自然。虽然情况恰恰相反,但上面的代码对我来说有点不对(未经过验证的数据外)。但另一方面,我知道我从服务器返回的内容。

问题是它是否正确来信任从(也是我的)后端应用程序返回的data将具有预期的结构,或者我应该以某种方式验证来自服务器的每个数据?

另外一个问题是,是否有一些很好的方法来进行此类验证?手动验证每个数据的存在似乎是一个痛苦的问题。特别是对于更复杂的数据结构。

在写这个问题的过程中,我想到了一个想法。我可以使用$.extend(),就像它在编写模块/插件时常用于设置默认选项一样。类似的东西:

$.post(settings.url, function(data) {

var trustedStructure = $.extend({

someData1: $('#someElement').text(),

someData2: $('#someElement2').text(),

}, data);

$('#someElement').text(trustedStructure .someData1);

$('#someElement2').text(trustedStructure .someData2);

});

通过这种方式,我可以使用其他当前数据作为默认值或其他任何其他可信任数据。

修改

忘了注意。我正在谈论纯JSON数据响应。没有包含HTML等。

ajax中怎么验证data,我应该在jQuery的ajax成功处理程序中验证响应数据吗?相关推荐

  1. ajax无刷新留言板远吗,基于jquery实现ajax无刷新评论

    基于jquery实现ajax无刷新评论 发布于 2017-03-31 11:26:07 | 75 次阅读 | 评论: 0 | 来源: 网友投递 jQuery javascript框架jQuery是一个 ...

  2. jq ajax请求php原声,原生JS与jQuery对AJAX的实现

    原生JS与jQuery对AJAX的实现 一.定义 W3C里这么解释AJAX: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ...

  3. django ajax页面加载,Python Django 之 基于JQUERY的AJAX 登录页面

    解决Dropbox无法连接的问题 同步共享服务Dropbox从6月18日开始再次遭到封锁,原因是DNS污染.Dropbox上次在2010年5月曾遭到IP封锁和网址关键字过 滤,2012年5月除文件外链 ...

  4. ThinkPHP+JQuery实现ajax无刷新登录验证(详解+相关问题)

    ThinkPHP+JQuery实现ajax无刷新登录验证 摘要: 使用原生javascript进行ajax实现无刷新更改页面内容的复杂性尽人皆知,而jquery对ajax传递进行了封装和优化,因此通过 ...

  5. eazyui ajax传值,jquery easyui ajax data属性传值方式

    $.ajax({ url:url, type:'post', data:data, dataType:'json', contentType: "application/x-www-form ...

  6. 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)

    1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...

  7. jquery ajax 省 城市 二级菜单 源码,利用了jquery的ajax实现二级联互动菜单

    菜单资源保存在数据库中.利用了jquery的ajax实现.用到的包有:json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar json.js jquery.js jsp页 ...

  8. jQuery的Ajax初识

    1. 什么是Ajax? Ajax是"Asynchronous Javascript And XML(异步Javascript和XML)"的缩写, 是指一种创建交互式网页应用的网站开 ...

  9. ajax post提交数组6,jQuery的ajax()、post()方法提交数组,参数[] 问题

    当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List,或Integer[] 等数组对象进行接收. 比如: $.ajax({ type: "POST", u ...

最新文章

  1. 端口扫描程序nmap使用详解
  2. 文件bookDetails.html,查看源码: BookShopping.rar_bookdetails.jsp - VerySource
  3. 【JavaEE WEB 开发】Tomcat 详解 Servlet 入门
  4. MySQL 百万级数据量分页查询方法及其优化
  5. 【JVM调优工具篇】jvisualvm工具导出dump文件教程
  6. Python实训day13am【Python网络爬虫综合大作业PPT】
  7. [BUUCTF-pwn]——starctf_2019_babyshell
  8. hdu2019——数列有序解题报告
  9. pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !
  10. C++之greater和less
  11. MV-LDL论文修改20211115(B-Y Rong)
  12. tcp分包传图片 如何还原_技术控丨超详细解析TCP重传机制
  13. lamda表达式修改数据_图解sql面试题:如何按条件修改数据?
  14. SPEC-RFC3261总述
  15. iOS开发--保存数据到本地
  16. r语言集合补集_极速统计教程之八 | 概率和集合
  17. 2021 ICCV TIMI-Net 抠图网络论文笔记
  18. DD-WRT安装与配置
  19. 波形发生器电路的设计(实现正弦波、方波和三角波的输出)
  20. c语言tc2.0编译器下载,c语言编译器|c语言编译器(wintc)_绿茶手机网

热门文章

  1. PHP和MySQL Web开发pdf
  2. Linux快速搭建FTP服务器
  3. win7 dos窗口输入命令必须加后缀问题,例如 java必须输java.exe
  4. 谈谈基于SQL Server 的Exception Handlingp[下篇]
  5. 动态规划几种状态剪裁比较
  6. [剑指offer][JAVA]面试题第[04]题[二维数中的查找][数组]
  7. EXEJ4 生成的java exe文件更换电脑后出现闪退情况解决办法
  8. cad刷新快捷键_第16期分享:常用电脑快捷键是哪些?
  9. Canvas之进度条的制作(矩形,圆环)
  10. 1359C. Mixing Water