解决Ajax获取文本数据为空的问题

2023-11-04

今天学习了Ajax,想自己封装一个函数,结果第一步就难住了,我无论怎样都获取不到文本文件或者Json里的值,难受的找了半天bug,百度了好久,(不是很懂后台代码,用文本文件保存的数据),找不到适合我的解决方案。关键是控制台没有报错,就是alert();出来是个空字符串......

但是,重点来了,我猛然发现会不会是变量作用域的问题!!

我在外面定义的xmlDoc=xmlhttp.responseText;还忘记写var (写了也不好使)

当我注释掉它,并且把alert(xmlDoc);换成alert(xmlhttp.responseText);的时候,奇迹出现了,我获取到了数据(笑哭......)

现将代码呈上:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>封装Ajax</title>
</head>
<body>

<button>提交数据</button>

<script>

	var oBtn = document.querySelector('button');
	oBtn.onclick = function(){
		var xmlhttp;
		//为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。
		//如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject 
		if (window.XMLHttpRequest){
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp=new XMLHttpRequest();
		}else{
			// code for IE6, IE5
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		xmlhttp.open("GET","test.json",true);
		xmlhttp.send();
		// xmlDoc=xmlhttp.responseText;
		xmlhttp.onreadystatechange=function(){
			if (xmlhttp.readyState==4){
				if( 200<=xmlhttp.status<300||xmlhttp.status==304 ){
	    			alert(xmlhttp.responseText);     //这个bug是变量问题 这是另一个函数啦!!!!!!
				}else{
					alert('请求失败');
				}
	    	}
		}
	}
	
</script>

</body>
</html>
{
	"name": "stt",
	"age": "20"
}

 这是结果:

这个bug很......希望帮到和我有一样困扰的人~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决Ajax获取文本数据为空的问题 的相关文章

  • 仅在图像加载后应用 jQuery 瀑布“回流”

    我正在使用 jQuery 瀑布来显示网格样式 为了阻止常见的图像重叠问题 我将瀑布方法包装在 load 函数中 例如 window load function buildcontainer waterfall colMinWidth 260
  • 使用 Laravel 在 Bootstrap 模式中动态加载表单

    我正在开发应用程序 它需要引导模式中的表单 并且还动态加载表单 我面临的问题是所有页面都再次以模式加载 这里有人为此提供任何例子吗 控制器 public function loadJsModalForm return View make f
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • 在 Chrome/Safari 中添加 html5 属性后 Ajax 表单中断

    分步说明 新建 Asp Net MVC2 项目 Model public class TestModel public int Property get set 家庭控制器 HandleError public class HomeCont
  • 如何从ajax调用php函数?

    我熟悉如何让ajax转到php页面并执行一系列操作然后返回json数据 但是 是否可以调用驻留在给定页面中的特定函数 基本上我想要的是减少项目中的文件数量 所以我可以把很多常用的函数放在一个页面中 然后只调用我现在想要的任何函数 对于 AJ
  • f:ajax 不工作

    我很难得到f ajax从事某项工作h panelGroup 这就是我正在做的 JSF 代码
  • 如何在ListBox中加载大量数据? ASP.NET MVC 应用程序

    我正在使用 ASP NET MVC 应用程序 要求用户能够从可能包含超过 30 000 个条目的列表框中选择一个项目 是否有一种使用 Ajax 调用来填充此 ListBox 内容的动态方法 效果良好 我是否最好只填充服务器上的 ListBo
  • MVC:如何使用ajax?

    我将使用 Zend Framework MVC 实现启动一个项目 我如何使用ajax 我的意思是 我应该将所有 ajax 代码放入控制器中吗 还是进入视野 例如 我想将作者 ivan 的帖子显示在页面上 通常 我创建一个指向 posts a
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • 为什么 JSON 结果可以是布尔值而不是对象或数组?

    From JSON 网站 http json org JSON 建立在两种结构之上 名称 值对的集合 在各种语言中 这被实现为对象 记录 结构 字典 哈希表 键控列表或关联数组 值的有序列表 在大多数语言中 这被实现为数组 向量 列表或序列
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • Ajax 调用诸如 'for (;;); 之类的响应是什么? { json 数据 }' 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么人们会写这样的代码 throw 1 和 for 在 json 响应前面 https stackoverflow com questions 3146798 why do people put c
  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • 谁添加“_”单下划线查询参数?

    我有一个在 Apache 上运行的 PHP 服务器 我收到很多类似这样的请求 10 1 1 211 02 Sep 2010 16 14 31 0400 GET request 1283458471913 action get list HT
  • 更新 Bootstrap 缩略图网格 - ajax 请求

    设想 我有一个带有显示国家 地区的 Twitter Bootstrap 缩略图网格的视图 当用户单击一张图像时 它应该在同一网格 屏幕 中显示与该国家 地区相关的城市 技术的 首先 我用国家 地区填充 dataProvider 然后我应该将
  • ExtJS:使用“记住我”功能登录

    我正在尝试创建一个具有非常常见的 记住我 功能的简单登录窗口 登录验证是通过 AJAX 风格完成的 因此浏览器不会记住我的输入 我的方法是使用内置的state功能 但是如何使用它让我很困惑 Ext state Manager setProv
  • 在 JSON 对象中存储和发送原始文件数据

    我正在寻找一种方法来传输任何文件类型的原始文件数据和任何可能的内容 我的意思是文件和文件内容都是用户生成的 在 Backbone 前端中使用 xhr ajax 调用两种方式针对 Django 后端 编辑 也许问题仍然不清楚 如果您在 IDE
  • 如何在 Ext.js 中自动完成 html 输入标签?

    如果您使用 Ext js 库 如何在输入文本区域中进行自动完成 更准确地说 如何根据迭代 Ajax 请求进行自动完成 例如jQuery 自动完成插件 http docs jquery com Plugins AutoComplete aut
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的

随机推荐

  • 再战WebGoat之代码审计

    声明 好好学习 天天向上 回想首次接触webgoat已是两年前 当时可能连漏洞原理都不是很明白就开始上手靶场了 也是搜了很多文章 还用的word的方式写的草稿 惭愧惭愧 webgoat一直是我心中高质量的靶场 其实当时发布文章时 我就一直在
  • github趋势追踪 2023年5月25日

    1 text2vec text2vec是一个文本向量表征工具 它可以将文本转化为向量矩阵 这个项目实现了多种文本表征和文本相似度计算模型 如Word2Vec RankBM25 Sentence BERT和CoSENT等 使用text2vec
  • 小车PCB板视觉分拣软件

    小车PCB板视觉分拣软件 前言 赛题内容 视觉算法 算法选择 算法实现过程 读入Train并创建模板 读入Test数据 图像预处理与视觉分拣 实际效果 指定读入 顺序读入 其他 UI界面设计 数据库 DEMO分享 前言 智能制造赛是中国机械
  • Qt 中开启线程的五种方式

    作者 billy 版权声明 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 简介 在开发过程中 使用线程是经常会遇到的场景 本篇文章就来整理一下 Qt 中使用线程的五种方式 方便后期回顾 前面两种比较简单 一笔带过了 主
  • 命令行前边出现base

    问题 命令行开头出现base base lihongzhang home 原因 安装了conda引起的 默认启动命令行即自动进去conda环境 解决办法 方法1 退出conda环境 base lihongzhang home conda d
  • nodejs、npm、cnpm、yarn安装及环境配置

    一 nodejs的安装 1 官网下载对应系统安装包 https nodejs org en download 2 安装时注意修改安装目录 建议放在非C盘目录下 一路默认安装即可 3 安装完成后启动命令行工具 输入 node v npm v
  • too much data for RSA block .关于RSA算法密钥长度/密文长度/明文长度

    今天在做RSA加密的时候遇到了一个这样的错误 ArrayIndexOutOfBoundsException too much data for RSA block 查询相关资料后得知该错误是加密数据过长导致的 加密数据长度 lt 模长 11
  • 各linux操作系统查看内核版本命令

    原文出处 https linuxlog cyou post 18297 html 默认情况下 所有已安装的 Linux 内核及其相关文件都存储在 boot 目录 只需使用 find 查看已安装内核列表的命令 find boot vmli b
  • 智能合约 -- 安全考量

    相关概念 就是我们写代码是考虑这种涉及到合约安全的问题 下面这个方面写合约是重点考虑 创建消息发送以太币 1 要创建消息发送以太币 您需要构建一个有效的交易 并将其发送到以太坊网络中 2 交易被发送到以太坊网络后 会经过矿工的验证和打包 并
  • VMware 创建 ubuntu

    一 下载 ubuntu镜像 1 Ubuntu下载地址参考 下载链接 本人选择下载地址 http mirrors melbourne co uk ubuntu releases 2 本人选择下载 18 4 06版本 二 创建虚拟机 点击创建虚
  • python 安装pandas

    1 pandas有啥用 pandas 是基于NumPy 的一种工具 该工具是为了解决数据分析任务而创建的 Pandas 纳入了大量库和一些标准的数据模型 提供了高效地操作大型数据集所需的工具 pandas提供了大量能使我们快速便捷地处理数据
  • HarmonyOS扫码服务,应用服务一扫直达打造系统级流量新入口

    二维码如今是移动应用流量入口以及功能实现的重要工具 也是各App的流量入口 是物 人 服务的连接器 通过扫码我们可以更便捷的生活 更高效的进行信息交互 包括信息的发布 信息的获取 在日常扫码过程中 我们也经常会遇到扫码环境暗 二维码污损 模
  • 中国现代服务业发展趋势及十四五战略模式研究报告2021-2027年

    中国现代服务业发展趋势及十四五战略模式研究报告2021 2027年 全新修订 2021年11月 报告价格 纸质版 6500元 电子版 6800元 纸质 电子 7000元 可以优惠 服务形式 文本 电子版 光盘 联 系 人 顾言 撰写单位 鸿
  • Spring Cloud Alibaba Dubbo

    Spring Cloud Alibaba Dubbo 为什么 是什么 怎么做 为什么 单体应用 单体服务经过长期的迭代更新 逐渐走向代码臃肿 高耦合 这显然与我们软件开发设计理念高内聚 低耦合背道而驰 从而难以维护 市场需求也在逐渐要求服务
  • 惠普360 g5服务器系统如何做阵列,求HP DL360G5 2.5服务器,基于windows server 2008系统安装RAID 1方法...

    一 在BIOS中打开RAID功能 安装好SATA硬盘之后 就要进入BIOS中打开南桥芯片的RAID功能 具体方法是 进入BIOS设置程序的 OnChip IDE Device 窗口 找到一个名为 SATA Mode 的选项 将它设置为 RA
  • glsl中uniform,attribute和varying详解

    openGL系列文章目录 文章目录 openGL系列文章目录 uniform attribute varying 参考 uniform 要想渲染一个场景以使它看起来是3D 的 需要构建适当的变换矩阵 并将它们应用于模型的每个顶点 在顶点着色
  • 龙斗士显示网络和服务器,龙斗士热点问题_百田网帮助中心

    战斗类问题 7 怎样组队或离开队伍 你好 小冒险家如果想要组织队伍一起去冒险 可以在页面右下方打开 组队 图标 选择 创建组队 创建一支队伍 小冒险家成功建立队伍后 打开 组队 图标 选择 邀请队友 就能邀请朋友加入队伍了 如果要离开队伍
  • 基于HTML和CSS完成京东页面的制作

    首先打开京东页面分析页面元素 由图可把整个页面分为4个部分 分别为top顶部部分 tip提示部分 mid中间部分 foot底部部分 然后编写每一部分的代码 边写边测试结果 防止一步错步步错 代码如下 HTML部分 div class top
  • C#新语法

    本文章是我听B站杨中科的所做的笔记 杨中科B站视频链接 NET 6教程 Net Core 2022视频教程 杨中科主讲 哔哩哔哩 bilibili 说明 1 C 8 0 C 9 0和C 10 0中增加了很多的新语法 这里讲解常用 重点的新语
  • 解决Ajax获取文本数据为空的问题

    今天学习了Ajax 想自己封装一个函数 结果第一步就难住了 我无论怎样都获取不到文本文件或者Json里的值 难受的找了半天bug 百度了好久 不是很懂后台代码 用文本文件保存的数据 找不到适合我的解决方案 关键是控制台没有报错 就是aler