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的死循环。通过改造后,可以避免这一状况的发生。
开源就是有这点优势。
备注:
这完全是笔者省事的做法,如有其它更标准的方法请明示
分享到:
相关推荐
通过以上分析,我们了解到jQuery AJAX分页不仅简化了开发流程,还提供了丰富的自定义可能性。在"JqureySweepPagesDemo"中,你可以看到这些特性的实际应用,为你的Web项目带来高效、美观的分页功能。对于初学者,这个...
jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换...
- jQuery的AJAX方法允许设置error回调函数来处理请求失败的情况,如网络问题或服务器错误。 - 通过$.ajaxComplete()可以监听所有AJAX请求的完成,无论成功还是失败。 综上所述,这个"asp+jquery ajax实例源码...
**jQuery + AJAX 处理 XML 数据** 在网页开发中,jQuery 和 AJAX 技术的结合是获取和操作服务器端数据的常见方式。本篇将详细探讨如何使用 jQuery 的 AJAX 功能来处理 XML(可扩展标记语言)数据。 **1. jQuery 和...
在IT行业中,jQuery是一个...总的来说,jQuery的AJAX功能与分页插件相结合,可以有效地实现动态加载和展示TXT文件内容,以及处理大量数据的分页显示。这些技术在网页开发中非常常见,对于提升用户体验具有重要意义。
本篇文章主要介绍了jQuery Ajax前后端使用JSON进行交互示例,实现前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端,有兴趣的可以了解一下。
总的来说,jQuery的Ajax过滤器提供了强大的灵活性,使我们能够在Ajax请求的各个阶段插入自定义逻辑,包括对数据的预处理和后处理,有效地解决了乱码问题。结合`AjaxForm`插件,我们可以轻松地实现表单的Ajax提交,...
JQuery AJAX 和 JSON 是在 Web 开发中处理异步数据传输和数据格式化的重要工具。本文将深入探讨这两个概念以及它们在实际应用中的使用方法。 首先,JQuery 的 AJAX(Asynchronous JavaScript and XML)功能允许...
《jQuery AJAX 技术详解——基于传智播客课件》 在当今的Web开发中,jQuery AJAX(异步JavaScript和XML)技术扮演着至关重要的角色。它允许开发者在不刷新整个页面的情况下与服务器进行数据交换,提高了用户体验,...
HTML静态页面与jQuery AJAX是Web开发中的重要技术组合,它们为网页提供了无刷新的数据交互能力,提升了用户体验。在这个"html静态页JQuery ajax示例demo 源码"中,我们可以深入学习和理解AJAX在C# ASP.NET环境下的...
在本项目中,我们利用jQuery Masonry插件来实现瀑布流效果,并结合Ajax技术实现动态加载数据,进一步提升用户体验。 jQuery Masonry插件是由David DeSandro开发的一个JavaScript库,它的主要功能是将网页中的元素以...
在IE8下使用jQuery获取自定义标签的知识点主要涉及到JavaScript的DOM操作、jQuery的选择器以及对旧版浏览器的兼容性处理。以下是对这些主题的详细解释: 1. **自定义标签**: 自定义标签是HTML5引入的一个新特性,...
在JavaScript的世界里,jQuery是一个非常流行的库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。本文将深入探讨如何为jQuery添加自定义事件机制,这将帮助开发者扩展jQuery的功能,实现更加个性化的...
本文将深入探讨如何使用jQuery的ajax方法来提交表单,从而实现异步数据交换,提高用户体验。 首先,jQuery的$.ajax()函数是进行Ajax请求的核心,它允许我们与服务器进行异步数据通信。在“使用jQuery ajax提交表单...
jquery-ajax-unobtrusive, 在数据 * 属性中,添加到 jQuery Ajax以启用低调选项 jQuery低调 AjaxjQuery低调Ajax库补充了 jQuery Ajax方法,添加了对通过Ajax调用指定HTML替换选项的支持,如 HTML5 data-* 元素。...
在网页开发中,jQuery AJAX 是一个非常重要的技术,它使得前端与后端的数据交互变得更加便捷。本主题将深入探讨如何利用jQuery AJAX实现动态级联效果,即二级联动下拉菜单,这种功能通常用于多级分类选择或者地区...
`jQuery AJAX`是jQuery库中的一个核心功能,它极大地简化了原生JavaScript的异步数据通信过程。本教程将深入探讨"jquery ajax demo",通过实际示例展示如何利用jQuery AJAX进行数据的发送和接收。 ### 1. AJAX基础...
本文将深入讲解一个基于jQuery的Ajax自定义分页组件——jquery.loehpagerv1.0的实例详解。 首先,我们来看一下实现分页功能所需的两个核心JavaScript库: ```html <script src="<%=basePath%>/resources/js/jquery-...
Java程序与jQuery AJAX的结合是Web开发中常见的一种技术组合,用于实现页面的无刷新更新。在本篇文章中,我们将深入探讨如何在Java后端与前端利用jQuery的AJAX功能进行交互,提升用户体验。 首先,jQuery是一个强大...
3. **custom.js**: 这是自定义的JavaScript文件,很可能包含了使用jQuery AJAX进行数据交互的代码,如向`rate.php`发送POST请求来更新评分。 4. **rate.php**: PHP脚本,处理来自前端的AJAX请求,如接收评分数据并...