`
achun
  • 浏览: 319306 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

jQuery ajax 自定义附加数据问题备注

阅读更多

jQuery 有 ajax 的支持,我应用的情况是:需要在ajax请求的对象中附加自己的数据

本来jQuery ajax 方法中要传递的对象都是事先规划好的,每一个参数都有jQuery的操作意义,如果在应用中需要附加自己的参数,当然要命名新的KEY,比如:伪代码

jQuery.ajax({MyData:mydata,其他jqueryajax参数})
 

这里的MyData参数就是自己应用中需要传递的参数对象,且不讨论要传送什么,这个需求有可能有的。

问题:

如果这个MyData的对象是一个复杂的含有循环引用的对象的话,有可能造成与jQuery ajax 方法内部实现的冲突。

因为在jQuery ajax 内部实现中对ajax的参数对象进行了深度的扩展,我们知道javascript的深度扩展实现中要避免循环引用的状况,这种情况会造成死递归循环发生,这一点看jQuery的ajax实现代码就可以知道问题所在:

ajax: function( s ) {
		// Extend the settings, but re-extend 's' so that it can be
		// checked again later (in the test suite, specifically)
		var MyData=s.MyData;//改造后的代码
		if(MyData) delete s.MyData;//改造后的代码
		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
		if(MyData) s.MyData=MyData;//改造后的代码
//........省略
}
 

可见如果是循环引用的参数附加到ajax方法中必定造成extend的死循环。通过改造后,可以避免这一状况的发生。

开源就是有这点优势。

备注:

这完全是笔者省事的做法,如有其它更标准的方法请明示

1
0
分享到:
评论

相关推荐

    jQuery响应式回款计划日历备注提示代码.zip

    备注和提示功能可能是通过附加数据属性(data attributes)到日历日期元素来实现的。当用户点击日期时,对应的备注会弹出。这可能使用了jQuery的`.data()`方法来存储和检索附加信息。 5. **jQuery特效**: jQuery...

    asoft签到管理系统tykq3.5_build20110125

    2、管理员:人员管理 签到设定 部门设定 请假数据管理、自定义流程 系统设置 系统日志 在线更新 公告管理 各种用户行为记录导出 数据库管理 【给DIY用户】 根目录下文件为所有的程序文件,文件头部版权部分...

    WCAD.SHX

    使用方法:拷贝到Auto CAD的Fonts下

    地球hook4.0.1开源

    地球hook4.0.1开源

    安卓期末大作业-Android图书管理应用源代码(高分项目)

    安卓期末大作业—Android图书管理应用源代码(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—Android图书管理应用源代码(高分项目)安卓期末大作业—And

    2021年华数杯数学建模竞赛优秀论文

    本文以电动汽车销售策略为研究对象,综合运用层次分析法、决策树、皮尔逊相关性分析、BP神经网络及粒子群优化等多种方法,深入探讨了影响目标客户购买电动汽车的因素及相应的销售策略。研究结果显示,客户对合资品牌电动汽车的满意度为78.0887,对自主品牌的满意度为77.7654,对新势力品牌的满意度为77.0078。此外,研究还发现电池性能、经济性、城市居住年限、居住区域、工作单位、职务、家庭年收入、个人年收入、家庭可支配收入、房贷占比、车贷占比等因素对电动汽车销量存在显著影响。通过BP神经网络对目标客户的购买意愿进行预测,其预测数据拟合程度超过80%,且与真实情况高度接近。基于研究结果,本文为销售部门提出了提高销量的建议,包括精准定位尚未购买电动汽车的目标客户群体,制定并实施更具针对性的销售策略,在服务难度提升不超过5%的前提下,选择实施最具可行性和针对性的销售方案。 在研究过程中,层次分析法被用于对目标客户购买电动汽车的影响因素进行系统分析与评价;决策树模型则用于对缺失数据进行预测填充,以确保数据的完整性和准确性;BP神经网络用于预测目标客户的购买意愿,并对其预测效果进行评估;粒子群优化算法对BP神经网络模型进行优化,有效提升了模型的稳定性和预测能力;皮尔逊相关性分析用于探究不同因素与购买意愿之间的相关性。通过这些方法的综合运用,本文不仅揭示了影响电动汽车销量的关键因素,还为销售策略的优化提供了科学依据。

    cmd-bat-批处理-脚本-文件归类整理器(当前目录版).zip

    cmd-bat-批处理-脚本-文件归类整理器(当前目录版).zip

    cmd脚本-bat批处理-抛弃路径尾部指定层次的字符串.zip

    cmd脚本-bat批处理-抛弃路径尾部指定层次的字符串.zip

    【数据库管理】MySQL数据库选择方法详解:命令行与PHP脚本操作指南

    内容概要:本文详细介绍了如何在不同场景下选择 MySQL 数据库的方法。首先,解释了通过命令提示窗口使用 USE 语句选择数据库的基本语法和步骤,包括直接在 mysql> 提示符下输入 USE database_name; 来切换数据库,以及通过命令行参数 -D 直接连接并选择数据库的方式。其次,介绍了使用 PHP 脚本选择 MySQL 数据库的方法,重点讲解了 mysqli_select_db 函数的使用方法,给出了完整的 PHP 示例代码,展示了如何建立 MySQL 连接、选择数据库并关闭连接。 适合人群:有一定编程基础,特别是对数据库操作有一定了解的开发人员或运维人员。 使用场景及目标:①需要在命令行环境下进行数据库管理或数据操作的技术人员;②使用 PHP 开发 Web 应用程序时,需要与 MySQL 数据库交互的开发人员;③希望通过编程方式自动化数据库选择流程的开发人员。 阅读建议:对于初学者来说,建议先掌握 MySQL 命令行工具的基本用法,再逐步学习 PHP 数据库连接的相关知识。在实际应用中,应确保所选数据库存在且权限正确,避免因数据库不存在或权限不足导致的操作失败。

    esp-idf-extension.vsix zip

    解压

    cmd-bat-批处理-脚本-删除指定文件夹之外的其他文件夹和文件.zip

    cmd-bat-批处理-脚本-删除指定文件夹之外的其他文件夹和文件.zip

    cmd脚本-bat批处理-(仅供备用)WINXP原本的各项服务.zip

    cmd脚本-bat批处理-(仅供备用)WINXP原本的各项服务.zip

    cmd-bat-批处理-脚本-加密.zip

    cmd-bat-批处理-脚本-加密.zip

    cmd-bat-批处理-脚本-逐行逐字显示文本.zip

    cmd-bat-批处理-脚本-逐行逐字显示文本.zip

    cmd-bat-批处理-脚本-枚举当前目录及子目录大小.zip

    cmd-bat-批处理-脚本-枚举当前目录及子目录大小.zip

    cmd-bat-批处理-脚本-删除默认共享.zip

    cmd-bat-批处理-脚本-删除默认共享.zip

    cmd-bat-批处理-脚本-IE主页修改.zip

    cmd-bat-批处理-脚本-IE主页修改.zip

    基于Java的蛋糕商城项目

    基于Java的蛋糕商城项目,前后端全部代码

    本工具提供文件AES&RSA混合加密解密功能,支持使用OpenSSL进行安全的文件加密和解密操作,依赖库完全内置,不依赖本地OPENSSL环境

    * 生成密钥对:运行 `python file_encrypt_decrypt.py --gen-key` * 加密文件:`python file_encrypt_decrypt.py --encrypt --input 输入文件 --output 加密文件 --public-key 公钥文件` * 解密文件:`python file_encrypt_decrypt.py --decrypt --input 加密文件 --output 解密文件 --private-key 私钥文件` 使用时注意: * 请妥善保管私钥文件 * 加密前请备份原始文件

Global site tag (gtag.js) - Google Analytics