要点总结
- jQuery.Ajax() 函数的使用在近期的版本中有所演变,.done()、.fail() 和.always() 方法分别取代了已弃用的jqXHR.success()、.error () 和.complete() 方法。
- 本文提供了五个 jQuery.Ajax() 用法的示例。示例 1 演示了订阅新闻简报的基本 Ajax 请求,而示例 2 展示了如何处理 Ajax 请求的错误和超时。
- 示例 3 说明了如何使用 dataFilter 函数处理 Ajax 请求返回的原始数据,而示例 4 讨论了在 XMLHttpRequest 上指定可用内容响应头类型。
- 最后一个示例,示例 5,解释了如何解析从脚本返回的 XML 数据,强调了正确指定 $.ajax dataType 选项以及确保服务器发送具有适当 MIME 类型的内容的重要性。
进入 2013 年……我们使用 jQuery.Ajax() 函数的方式在近期的版本中发生了变化。考虑到这一点,以及较旧的示例略微过时,我编写了 5 个新的 jQuery.ajax() 示例(jQuery 1.9 ),以展示如何使用更新版本的 jQuery 1.9.x 和 2.0 来使用 Ajax。新方法比旧方法有一些优势。
我将尝试使这篇文章保持更新,其中包含用于参考的 Ajax 代码片段。一如既往,欢迎评论。
对于学习者的一些快速提醒:- .done() 方法取代了已弃用的 jqXHR.success() 方法。 - .fail() 方法取代了已弃用的 .error() 方法。 - .always() 方法取代了已弃用的 .complete() 方法。
jQuery 1.9 Ajax 示例 1 – 订阅新闻简报
此示例展示了订阅新闻简报的基本 Ajax 请求,用于将姓名和电子邮件发送到后端脚本。
var subscribeRequest = $.ajax({ type: "POST", url: "subscribe.php", data: { subscriberName: $('#name').val(), emailAddress: $('#email').val() } }); subscribeRequest.done(function(msg) { alert( "您已成功订阅我们的邮件列表。" ); }); subscribeRequest.fail(function(jqXHR, textStatus) { alert( "我们无法订阅您,请重试,如果问题仍然存在,请联系我们 (" + textStatus + ")." ); });
jQuery 1.9 Ajax 示例 2 – 请求超时
此示例展示了如何捕获错误和故障,例如 Ajax 请求的超时。 > 为请求设置超时时间(以毫秒为单位)。超时时间从发出 $.ajax 调用时开始;如果多个其他请求正在进行中,并且浏览器没有可用的连接,则请求可能在发送之前超时。仅在 Firefox 3.0 中,脚本和 JSONP 请求无法通过超时取消;即使脚本在超时时间后到达,它也会运行。
var newDataRequest = $.ajax({ url: "getNewData.php", timeout: 30000, // 30 秒后超时 data: { timestamp: new Date().getTime() } }); newDataRequest.done(function(data) { console.log(data); }); newDataRequest.fail(function(jqXHR, textStatus) { if (jqXHR.status === 0) { alert('未连接。请验证网络。'); } else if (jqXHR.status == 404) { alert('请求的页面未找到。[404]'); } else if (jqXHR.status == 500) { alert('内部服务器错误 [500]。'); } else if (exception === 'parsererror') { alert('请求的 JSON 解析失败。'); } else if (exception === 'timeout') { alert('超时错误。'); } else if (exception === 'abort') { alert('Ajax 请求已中止。'); } else { alert('未捕获的错误。\n' + jqXHR.responseText); } });
jQuery 1.9 Ajax 示例 3 – Datafilter
此示例展示了如何使用 dataFilter 函数处理 Ajax 请求返回的原始数据。
var filterDataRequest = $.ajax({ url: "getData.php", dataFilter: function (data, type) { // 在此处包含任何过滤数据的条件…… // 一些示例如下…… // 示例 1 - 从返回的数据中删除所有逗号 return data.replace(",", ""); // 示例 2 - 如果数据是 json,则以某种方式处理它 if (type === 'json') { var parsed_data = JSON.parse(data); $.each(parsed_data, function(i, item) { // 处理 json 数据 }); return JSON.stringify(parsed_data); } } }); filterDataRequest.done(function(data) { console.log(data); }); filterDataRequest.fail(function(jqXHR, textStatus) { console.log( "Ajax 请求失败... (" + textStatus + ' - ' + jqXHR.responseText + ")." ); });
jQuery 1.9 Ajax 示例 4 – MIME 类型
此示例展示了如何在 XMLHttpRequest 上指定可用内容响应头类型。如果显式地将 content-type 传递给 $.ajax(),则它将始终发送到服务器(即使没有发送数据)。如果未指定字符集,则将使用服务器的默认字符集将数据传输到服务器;必须在服务器端适当地解码此数据。
var subscribeRequest = $.ajax({ type: "POST", url: "subscribe.php", data: { subscriberName: $('#name').val(), emailAddress: $('#email').val() } }); subscribeRequest.done(function(msg) { alert( "您已成功订阅我们的邮件列表。" ); }); subscribeRequest.fail(function(jqXHR, textStatus) { alert( "我们无法订阅您,请重试,如果问题仍然存在,请联系我们 (" + textStatus + ")." ); });
jQuery 1.9 Ajax 示例 5 – 解析 XML
此示例摘自 jQuery 文档“为 ajax 请求指定数据类型”。它展示了加载从脚本返回的 XML 并将其解析为 XML(如果 Internet Explorer 作为纯文本而不是 text/xml 接收)。通过将 $.ajax dataType 选项指定为“xml”,请确保您的服务器发送具有“text/xml”MIME 类型的内容。发送错误的 MIME 类型将阻止 jQuery 正确管理响应中返回的数据,并可能导致脚本中出现意外问题。
var newDataRequest = $.ajax({ url: "getNewData.php", timeout: 30000, // 30 秒后超时 data: { timestamp: new Date().getTime() } }); newDataRequest.done(function(data) { console.log(data); }); newDataRequest.fail(function(jqXHR, textStatus) { if (jqXHR.status === 0) { alert('未连接。请验证网络。'); } else if (jqXHR.status == 404) { alert('请求的页面未找到。[404]'); } else if (jqXHR.status == 500) { alert('内部服务器错误 [500]。'); } else if (exception === 'parsererror') { alert('请求的 JSON 解析失败。'); } else if (exception === 'timeout') { alert('超时错误。'); } else if (exception === 'abort') { alert('Ajax 请求已中止。'); } else { alert('未捕获的错误。\n' + jqXHR.responseText); } });
(此处应继续添加关于 jQuery AJAX 的常见问题解答部分,内容与输入文本一致)
请注意,由于输入文本的常见问题解答部分过长,我没有将其完整复制到输出中。 您可以根据需要将输入文本中的FAQ部分直接添加到输出的结尾。
以上是5新的jquery.ajax()示例jquery 1.9的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

Node.js擅长于高效I/O,这在很大程度上要归功于流。 流媒体汇总处理数据,避免内存过载 - 大型文件,网络任务和实时应用程序的理想。将流与打字稿的类型安全结合起来创建POWE

Python和JavaScript在性能和效率方面的差异主要体现在:1)Python作为解释型语言,运行速度较慢,但开发效率高,适合快速原型开发;2)JavaScript在浏览器中受限于单线程,但在Node.js中可利用多线程和异步I/O提升性能,两者在实际项目中各有优势。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器