今天在测试一个ajax获取IP的一个应用的时候,发现以前一直很正常的代码出现了问题,始终没办法获取到正确的数据,于是开始排查,随手记个步骤下来。
首先,检查Get到的xml文件是否正确。因为是IE下的系统,所以用了httpwatch抓文件,抓下来文件看起来一切正常。排除后台代码出错。
然后,检查了一下前端和后台代码的版本,发现后台代码没有修改过,前端代码从change log可见为了兼容新版的IE,做了少量修改:
修改前
var node = xmlDoc.getElementsByTagName("ipaddr");
if (null != node[0] && null != node[0].text.match(/^\d{1,3}(\.\d{1,3}){3}$/g))
g_ClientIpAddr = node[0].text;
修改后
var node = xmlDoc.getElementsByTagName("ipaddr");
if (null != node[0] && null != $(node[0]).text().match(/^\d{1,3}(\.\d{1,3}){3}$/g))
g_strClientIpAddr = $(node[0]).text();
可见,修改仅仅是在获取XML数据时引入了jquery用于兼容各个版本的IE浏览器。改动很小,看起来问题不大。因为实在一台老旧的电脑上测试,只有IE6,将就alert出变量内容,看起来没什么不同。
再试,发现match的时候匹配不到字符串。好吧,仔细检查XML文件中字符串,原来为了排版美化,XML里面的格式是
<ipaddr>
192.168.0.1
</ipaddr>
用旧程序获取到的ipaddr值是【192.168.0.1】,而新程序获得的值是【\n192.168.0.1】,好吧,这个问题真是头疼,修改XML,标签放到一行,暂时解决问题。
真是令人抓狂!
分享到:
相关推荐
Struts2 jQuery XML 是一个基于Java的Web开发框架的组合,它将Apache Struts2的MVC架构与jQuery库结合,提供了丰富的用户界面组件和更流畅的AJAX交互。Struts2是一个强大的、灵活的MVC框架,而jQuery则简化了...
jQuery 是一个流行的 JavaScript 库,它提供了方便的 API 来处理 DOM 操作、事件处理以及 AJAX 请求,包括读取和操作 XML 文件。本文将详细介绍如何使用 jQuery 在客户端读取和解析 XML 数据。 ### 1. XML 文件结构...
jQuery是世界上最流行的JavaScript库之一,它的出现极大地简化了JavaScript的DOM操作、事件处理、动画制作以及...下载并使用“jquery-3.5.1(一个JavaScript的工具库).zip”,你就能体验到这个库带来的便捷与高效。
页面设计上,"最好看的一个模板"往往体现在其清爽的视觉效果和舒适的交互体验。这种模板通常采用响应式布局,适应各种屏幕尺寸,确保在桌面、平板和手机等不同设备上都能良好显示。此外,色彩搭配和谐,字体大小适中...
《jQuery经典Demo详解:探索30个精彩实例》 jQuery,作为一款强大的JavaScript库,以其简洁的API和高效的功能,深受Web开发者的喜爱。这里我们聚焦于30个经典的jQuery Demo,它们涵盖了从基础交互到复杂动画的各种...
PyQuery是一个Python库,它允许用户使用类似于jQuery的语法来操作XML和HTML文档。这个库的主要目标是为Python开发者提供一种简单...无论你是网页爬虫开发者还是需要处理XML数据的工程师,PyQuery都是一个值得考虑的库。
3. **事件处理**:jQuery简化了事件绑定和触发,如`$(element).click(function() {...})`,允许开发者在一个函数中处理多个事件。在1.12.4中,事件处理机制更加稳定,减少了可能出现的问题。 4. **Ajax交互**:...
jQuery 3.1 版本是这个库的一个重要里程碑,带来了许多改进和优化,使得其在现代Web开发中的应用更为广泛。 **jQuery 的核心概念** 1. **选择器(Selectors)**:jQuery 提供了丰富的CSS选择器,如`$("#id")`选择...
jQuery 1.4.1 版本是其历史上的一个重要版本,带来了许多改进和新特性。 1. **选择器** - jQuery 的核心功能之一是强大的 CSS 选择器,如 `$("#id")`(根据 ID 选择元素)、`$(".class")`(根据类名选择元素)和 `...
3. **API稳定**:jQuery 3.x系列保持了API的稳定性,确保开发者可以放心使用已有的代码和插件,而无需担心版本升级带来的问题。 三、主要函数和方法 - **$(selector)**:这是jQuery的入口函数,用于选取DOM元素,...
jQuery 1.32是该库的一个稳定版本,虽然现在已经有了更新的版本,但1.32仍广泛应用于许多旧项目中。 二、jQuery 1.32的主要特性 1. 快速高效的DOM操作:jQuery 1.32版本提供了丰富的选择器,使得快速定位和操作DOM...
总之,jQuery 1.12.4是一个强大且可靠的前端工具,无论你是新手还是老手,它都能为你带来极大的便利。通过下载并研究这个压缩包中的文件,你可以深入了解jQuery的工作原理,从而更好地应用到实际项目中去。
**jQuery 3.3.1** 是一个广泛应用于Web开发中的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。这个版本的jQuery是2018年发布的一个稳定版本,旨在提供高效、轻量级且功能丰富...
在提供的附加资料中,有一个“jquery ajax函数表”,这通常包含jQuery中与Ajax相关的函数和方法的详细列表,比如`$.ajaxSetup()`、`$.getScript()`等,帮助开发者快速查找和理解相关API。 另外,还有一个“用户名...
"jquery_history_demo"这个示例正是为了解决这个问题,它展示了如何通过一个开源的jQuery插件来实现Ajax加载时对浏览器历史记录的支持,从而恢复前进和后退功能。 **jQuery和Ajax Load** jQuery是一个流行的...
首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及AJAX交互。AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,通过在后台与服务器进行少量数据交换,可以...
在 jQuery 中,我们使用 `$` 符号来创建 jQuery 对象,它可以包裹一个或多个 DOM 元素。例如,以下代码选择页面上的所有 `p` 元素: ```javascript var paragraphs = $('p'); ``` jQuery 对象提供了丰富的方法和...
《jQuery基础教程6章》是一份详尽的指南,旨在帮助初学者理解并掌握JavaScript库jQuery的核心概念和功能。...通过学习这6个章节,你可以熟练掌握jQuery的使用,为你的网页开发工作带来更高的效率和更丰富的交互体验。
jQuery是一个轻量级、高性能的JavaScript库,旨在简化HTML文档遍历、事件处理、动画制作以及Ajax交互。这份手册将帮助你深入理解并熟练运用jQuery,提升你的前端开发效率。 1. **jQuery选择器**:jQuery提供了丰富...