首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ajax出现JS错误: TypeError:无法将属性'innerHTML‘设置为null (不是重复的,其他答案都不起作用)

Ajax出现JS错误: TypeError:无法将属性'innerHTML‘设置为null是因为在使用Ajax请求时,返回的数据为null,而在代码中尝试将返回的数据赋值给innerHTML属性,导致出现了类型错误。

解决这个问题的方法是在代码中添加对返回数据的判断,如果返回的数据为null,则不执行赋值操作。可以使用if语句或者三元表达式来进行判断。

以下是一个示例代码:

代码语言:txt
复制
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();

// 发送Ajax请求
xhr.open('GET', 'url', true);
xhr.send();

// 监听请求状态变化
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var responseData = xhr.responseText;

    // 对返回的数据进行判断
    var element = document.getElementById('elementId');
    if (responseData !== null) {
      element.innerHTML = responseData;
    }
  }
};

在上述代码中,我们首先创建了一个XMLHttpRequest对象,并发送了一个Ajax请求。然后,我们通过监听请求状态变化的事件,在请求成功并返回数据时,对返回的数据进行判断。如果数据不为null,则将其赋值给指定的元素的innerHTML属性。

需要注意的是,这只是一个示例代码,实际应用中需要根据具体情况进行修改和优化。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)、腾讯云云数据库MySQL版、腾讯云CDN加速等。您可以通过腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

常见8个前端防御性编程方案

,整个系统不够健壮,从而会出现白屏,或者业务系统异常,用户误操作等 那么,就出现了前端防御性编程 常见问题和防范 1.最常见问题: uncaught TypeError: Cannot read property...js对象中未初始化属性值是undefined,从undefined读取属性就会导致这个错误(同理,null也一样) 如何避免?...3.错误边界(Error Boundaries,前端出现未知错误时,展示预先设定UI界面) 以React例 部分 UI JavaScript 错误不应该导致整个应用崩溃,为了解决这个问题,React...错误边界是一种 React 组件,这种组件可以捕获并打印发生在其子组件树任何位置 JavaScript 错误,并且,它会渲染出备用 UI,而不是渲染那些崩溃了子组件树。...innerHTML 容易出现安全漏洞,例如接口返回了一段JavaScript脚本,那么就会立即执行。

1.1K20

论egret

为了弥补小小失落,还是决定自己写一套吧(代码放在最底部),下面的就是摘自网上,然后又js改成ts版ajax: //使用 ajax({ url: url, method: "GET",...点击事件被拦截:设置grouptouchThroughtrue 如果希望group超出部分被遮挡,就应该设置scrollEnabletrue 最坑是,自定义控件设置宽高100%,编译后可能报错...[warning] EXML解析错误 ScreenSkin: 无法'string'类型值赋给属性:'preview:undefined' 在exml是这样写: <e:Skin class="ScreenSkin...最后用egret clean才<em>起作用</em>,这个<em>答案</em>在网上根本找不到<em>答案</em>,不过现在有了,呵呵 资源加载坑 资源加载本身是没有坑<em>的</em>,但是游戏或者网站升级有有坑了,因此有必要在资源路径后面加个随机数参数: main.<em>js</em>...; public constructor(msg: string | <em>null</em>) { this.name = "Ajax错误"; this.msg

1.6K10

Web前端-JavaScript基础教程上

null在JavaScript中表示空值,nulltypeof运行为字符串object。null特殊对象值,含义非对象。 null类型唯一一个成语,它表示数字,字符串和对象是“无值”。...,就不是同个地址了 Object.freeze对象冻结 const foo = Object.freeze({}); // 下面一行不起作用; // 会报错 foo.prop = 12; 顶层对象 window.a...可以用innerHTML代替dom操作,减少dom操作次数,优化js性能。 可以多用className,少用全局变量,缓存dom节点。...效果 ajax过程,创建XMLHttpRequest对象,创建一个异步调用对象,创建新HTTP请求,并指定HTPP请求方法,url以及验证信息,设置响应HTTP请求状态变化函数,发送HTTP请求...ajax不可以跨域获取数据,可以获取文件内容,使用js脚本,函数调用,调用参数服务器返回数据。

2.2K30

JavaScript基础学习--02属性操作

二、属性操作要点: 1、属性获取直接以(obj.属性名)方式,注意点是属性名不可出现(-),以驼峰法变幻,如(Odiv.font-size 错误!...--》Odiv.fontSize) 2、class 不是属性(width、src、style),也不是关键字(var),而是保留字,所以Object.class=XX错误,--》Object.className...属性动态修改。     解决办法:点击后input type=‘button’隐藏,显示checkbox即可。...7、js中允许所有(.)替换成(【】),且(.)后面的值无法修改(必须是非变量),      如:var thisVal = oAttr.value;  ob.style.thisVal = XX 错误...,再“回调”执行ajax(此时中断其他正在执行代码《如果有正在执行代码的话》),最后再执行剩余代码。

1.8K90

求职 | 史上最全web前端面试题汇总及答案2

null: (1) 作为函数参数,表示该函数参数不是对象。 (2) 作为对象原型链终点。...3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素内容作为对象一个属性,并赋值1,存入到第2步建立对象中。...①addClass:元素设置class属性,如果该元素已经存在class属性,则在其值后添加空格及新class值。 ②css:操作元素style属性方法。 9、如何获取一个元素实际位置?...(3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 (4) 当需要设置样式很多时设置className而不是直接操作style。...②垃圾回收器定期扫描对象,并计算引用了每个对象其他对象数量。如果一个对象引用数量 0(没有其他对象引用过该对象),或对该对象惟一引用是循环,那么该对象内存即可回收。

6.1K20

关于ajax学习笔记

一、什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax认识) ajax全称Asynchronous JavaScript and XML(异步javascript和XML),为什么会有这么一种技术出现呢...501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务 这是比较齐全状态表: ?...所以,如果想在函数内,向全局暴露顶层变量,只需要把顶层变量设置window对象属性。 越是大项目,越需要让全局变量越少越好。这是为了防止不同工程师之间程序,命名冲突。...+ timestamp,function(err,data){ alert(data); }); 总的来说,原理就是通过 get 请求 url 做成每次都不一样,这样就不会被浏览器缓存了。...比如今天又53页,明天就有55页了,所以你JS里面无法写死一个文章总页数。所以办法就是,请求下去,请求到page.php?

1.8K20

【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)

随着Ajax出现使web应用程序变得更完善,更友好。 好,还等什么呢?让我们来一起看看Ajax强大功能。...JS部分代码: var xmlHttp; function createXMLHttpRequest() { //表示当前浏览器不是...userId=" + trim(field.value) + "&time=" + new Date().getTime(); //设置请求方式GET,设置请求URL,设置异步提交...xmlHttp.open("GET", url, true); //方法地址复制给onreadystatechange属性 //类似于电话号码 xmlHttp.onreadystatechange...总结 Web开发一直在追求界面友好,人性化,较高用户体验度以及更加美观等等,我相信只要从点点滴滴做起,任何问题都不是问题。

75910

熬夜7天,我总结了JavaScript与ES25个重要知识点!

TypeError;b,对不可配置属性使用delete操作符会抛出TypeError;c,不可扩展对象添加属性会抛出TypeError。...重名属性情况:a,非严格模式下没有错误,以第二个属性为准;b,严格模式下会抛出语法错误。 函数参数必须唯一,重名参数,在非严格模式下没有错误,只能访问第二个参数;严格模式下,会抛出错误。...和null无法转成对象,所以如果它们作为参数,就会报错 如果undefined和null不在首参数,就不会报错 如果源对象某个属性值是对象,那么目标对象拷贝得到是这个对象引用(这个对象任何变化,...|| target === null) { throw my TypeError('error'); } // 第一个参数转为对象(不是对象转换为对象) const targetObj =...Promise对象创建时可能是未知,它允许你异步操作成功和失败分别绑定相应处理方法,这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现结果promise

1.7K30

16期-熬夜7天,我总结了JavaScript与ES25个重要知识点!

TypeError;b,对不可配置属性使用delete操作符会抛出TypeError;c,不可扩展对象添加属性会抛出TypeError。...重名属性情况:a,非严格模式下没有错误,以第二个属性为准;b,严格模式下会抛出语法错误。 函数参数必须唯一,重名参数,在非严格模式下没有错误,只能访问第二个参数;严格模式下,会抛出错误。...和null无法转成对象,所以如果它们作为参数,就会报错 如果undefined和null不在首参数,就不会报错 如果源对象某个属性值是对象,那么目标对象拷贝得到是这个对象引用(这个对象任何变化,...=== null) { throw my TypeError('error'); } // 第一个参数转为对象(不是对象转换为对象) const targetObj = Object(target...Promise对象创建时可能是未知,它允许你异步操作成功和失败分别绑定相应处理方法,这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现结果promise

61920

Ajax 技术学习 (Java EE 实现) —— 用户账户验证

这个函数中,会检查请求状态,如果请求状态完成,并且没有发现服务端出现错误,那么将会从该服务器返回数据进行处理并通常以某种形式显示输出到页面上 —— JavaScript 学习指南(第二版) 1.2...+ ajax 来实现 2.1 简单使用 ajax ,验证用户名是否合法 我们要实现一个简单功能,我们注册用户名为 admin 时候,系统会显示账号已经被注册,输入其他账号,系统可以正常运行 2.1.1...设置在服务器完成后要运行回调函数 2. 设置请求信息 3....username='+username); 回调函数中,我们最后发送数据时候,传递参数 null 即可:xmlhttp.send(null) 备注: 我们使用 get 请求时候,可以不用传递头参数...正常注册 三、学习补充 3.1 问题记录 在 编写 ajax 时候,遇到了第一个 bug,那就是 前端传值 [object, object] 各种方法百试都不灵,当我们 ajax js 代码重新细化了一遍之后

1.8K30

2、原生AJAX

只能发送字符串和buffer【其他形式强行转换为字符串发送】 但是并不是我们需要得到 对象格式 例:后台传一个 对象 ,那么页面显示是下面的形式【字符串】 JSON.stringify()方法...:一个 JS对象或值转换为 JSON 字符串 ********************************** ajax *********************************...1、手动对数据转化 (在ajax将从服务器得来 字符串 -> 对象 ) JSON.parse()方法:JSON格式字符串转换为JS对象 2、 自动转换 (借助xhr对象上面的一个属性responseType...在服务端server.js上开启一个3s定时器,时间到了后,才send返回。...6、AJAX取消请求 在服务端server.js上开启一个3s定时器,时间到了后,才send返回。

7010

ASP.NET 调味品:AJAX

您应该记住 JavaScript DataView 只不过是实际 DataView 副本,目前除了能够遍历行和访问列值以外不支持其他更多功能(例如设置 RowFilter 或 Sort 属性功能)。...我们利用 AJAX 让用户有更愉快锁定机制体验。首先,我们创建用户尝试编辑但无法编辑(因为其他用户正在编辑该文档)文档队列,当这些文档可用时自动通知用户。...if (notifyBox == null || notifyTable == null) { return; } //如果服务器端代码出现异常 if (response.error !...目的是尝试帮助用户自己找到问题答案,以及限制重复发布数量。一般来说,用户在论坛中提出新问题时,他或她会输入主题和问题。他们通常都不会先进行搜索,来查看是否已经提出和回答过该问题。输入 AJAX。...但是,只向现有的应用程序添加启用 AJAX 功能时要小心操作。正在进行实际搜索预先存在 ForumSearch 类可能并不是我们介绍使用类型设计

3.6K50

JavaScript 进阶问题列表

(除了基本类型之外其他都是对象) 函数是一个特殊对象。你写这个代码其实不是一个实际函数。函数是一个拥有属性对象,并且属性也可被调用。 ---- 11. 输出是什么?...我们试图一个对象 b 设置对象 a 键,且相应 123。 然而,当字符串化一个对象时,它会变成 "[object Object]"。...当我们传递参数时,这与之前定义变量 x 不同 。这个 x 是属于 catch 块级作用域。 然后,我们块级作用域中变量赋值 1,同时也设置了变量 y 值。...首个元素赋值变量person。当设置两个对象彼此相等时,它们会通过 引用 进行交互。但是当你引用从一个变量分配至另一个变量时,其实只是执行了一个 复制 操作。...---- 答案: B 返回属性时候,属性值等于 返回 值,而不是构造函数中设定值。

1.3K10

JavaScript基本入门教程

: 1.145 3.1452 分析: 对于减号运算符,因为字符串不支持减法运算,所以自动字符串转换成数值 对于加号运算符,因为字符串可以用加号作为连接运算符,所以自动数值转换为字符串 其他类型数据之间转换可以自行实验...局部变量:只能在方法中起作用,出了方法,就不起作用了,但是,有一点必须注意,那就是在方法中没有代码块概念,也就是说,在方法代码块中定义局部变量,在整个方法中都是可以使用,不限于在代码块中。...属性/方法 说明 encodeURI() 字符串编码成URI decodeURI() 编码好URI解码成原本字符串 代码案例: <!...类属性:类属性是类属性,只有通过类名来调用,无法通过对象来调用,对象调用时候就会出现undefined。 局部变量:在函数内可用,出了函数就不可用。...p2一致,这是因为类属性改变后,所有的该类属性都会变化,但是作为对象属性,对象创建完成以后就不会再变了 动态地某个对象添加属性,或者方法,它们只属于这个对象,其他对象则不会享受这样属性和方法,

4K20

Ajax全接触-imooc

Ajax介绍  同步——客户端发起请求,服务端需要处理,响应,此时客户端完全等待,当服务器处理完毕,客户端重新载入页面,如果出现错误,再次发生请求,处理,等待......什么是跨域呢,简单理解就是因为JS同源策略限制,a.com域名下JS无法操作b.com或c.com域名下对象 子域名不相同,端口不同,协议不同,也会被认为是跨域,HTTP访问80端口,HTTPS...,*所有域 header('Access-Control-Allow-Methods:POST,GET'); //设置接收请求方式 封装一个Ajax function ajax(method,url....ajax中有个dataType属性,将该属性设置 dataType:"jsonp" 就能实现JSONP跨域了 $(function(){ $("#btn").click(function...,而是里面的实质内容,要加载文件也不需要管是不是.js结尾,而是内部是否合法JS内容; 2.用script标签加载资源是没有跨域问题,比如加载jQuery; 3.在资源加载进来之前定义好一个函数

5.7K20

JavaScrip最容易犯十大错误及其避免方法()

反过来,这意味着ItemList项目定义未定义,并且您在控制台中收到错误 - “Uncaught TypeError无法读取未定义属性’map’”。 这很容易解决。...例如,如果您在CDN上托管JavaScript代码,任何未捕获错误(冒泡到window.onerror处理程序错误,而不是在try-catch中捕获)将被报告“脚本错误”而不是包含有用错误 信息...要获取真实错误消息,请执行以下操作: 1.发送Access-Control-Allow-Origin标头 Access-Control-Allow-Origin标头设置表示可以从任何域正确访问资源...Uncaught TypeError: Cannot set property 当我们尝试访问未定义变量时,它总是返回undefined,我们无法获取或设置undefined任何属性。...在这种情况下,应用程序抛出“Uncaught TypeError无法设置未定义属性”。 10.

13110

2 《JavaScript高级程序设计》__ HTML中JavaScript

关注专栏,一起学习吧~ script 标签 script标签出现原因是为了解决早期js引入html页面的同时,不会导致页面在其他浏览器中渲染出问题。...对此元素 CORS 请求将设置凭证标志;这意味着请求提供凭据 "" 与 corssorigin="anonymous"效果相同 HTML5新增属性,其实本来标签就是可以跨域请求资源...查阅资料后发现script 标签请求资源时候,request header里是没有origin: 加上crossorigin后就有了,值null: 其实这样还是能请求成功,因为这个文件设置了access-control-allow-origin...总结一下: 设置了crossorigin就相当于开启了cors校验。 开启cors校验之后,跨域script资源在运行出错时候,window.onerror可以捕获到完整错误信息。...一般情况下始终text/javascript,如果值moddule,则代码会被当成ES6模块,只有这时候,代码中才能出现import和export关键字。

1K30
领券