Ajax实例及原理

小电流接地系统故障选线:基于MATLAB与Simulink的暂态分析实现 配电网单相接地故障频发,小电流接地系统因故障电流微弱、噪声干扰强,选线一直是工程难点。传统稳态量在消弧线圈补偿下失效,而暂态零序电流蕴含丰富的高频故障特征,成为鲁棒选线的突破口。借助小波分析对暂态信号进行细节分量重构,可有效提取故障线路与非故障线路的极性差异,结合相关系数判据实现可靠选线。基于MATLAB/Simulink构建10kV谐振接地配电网模型,通过故障注入、波形导出与脚本分析,完整还原了从仿真建模到选线判据落地的技术路径。该方法适用于配电自动化调试、继电保护整定及小电流接地系统选线算法的科研验证, 阅读详情
$.ajax({

type: "get",

url: "http://www.cnblogs.com/rss",

beforeSend: function(XMLHttpRequest){

//ShowLoading();
},
success: function(data, textStatus){

$(".ajax.ajaxResult").html("");

$("item",data).each(function(i, domEle){

$(".ajax.ajaxResult").append("<li>"+$(domEle).children("title").text()+"</li>");

});

},

complete: function(XMLHttpRequest, textStatus){

//HideLoading();
},
error: function(){

//请求出错处理
}
});


Ajax原理

Ajax 的全称是Asynchronous JavaScript and XML。

Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。

代码:

 

var xmlHttp=null;   
try{   
    xmlHttp=new XMLHttpRequest();   
}catch (e){   
    try{   
        xmlHttp=new ActiveXObject("
Msxml2.XMLHTTP ");   
    }catch (e){   
        xmlHttp=new ActiveXObject("
Microsoft.XMLHTTP ");   
    }
}   
  
function makerequest(serverPage,objId){   
    var obj = document.getElementById(objId);   
    xmlHttp.open("
GET ", serverPage);   
    xmlHttp.onreadystatechange = function()    
    {   
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)    
        {   
            obj.innerHTML = xmlHttp.responseText;   
        }   
    }   
    xmlHttp.send(null);   
}   


Ajax的优点:

1.最大的一点是页面无刷新,给用户的体验非常好。

2.使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。

3.ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,减少服务器的负荷。

 

Ajax的缺点:

1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态,这是因为浏览器只能记下历史记录中的静态页面。

2.使用JavaScript作Ajax的引擎,JavaScript的兼容性和Debug本身就让人头大。

3.破坏多层的系统架构(前端直接访问数据库)。

状态码:

(一) HTTP 1.1支持的状态代码

100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分
101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议
200 OK 一切正常,对GET和POST请求的应答文档跟在后面。
201 Created 服务器已经创建了文档,Location头给出了它的URL。 
202 Accepted 已经接受请求,但处理尚未完成。 
203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 
204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的
205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容
206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它
300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。 
301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。 
302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。 
303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。 
305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取
307 Temporary Redirect 和302(Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定向。 
400 Bad Request 请求出现语法错误。 
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。 
403 Forbidden 资源不可用。
404 Not Found 无法找到指定位置的资源
405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容
407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。
408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。 
409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。
410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。 
411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。 
412 Precondition Failed 请求头中指定的一些前提条件失败
413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头 
414 Request URI Too Long URI太长 
416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头
500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求
501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求 
502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答 
503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头 
504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答 
505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本

(二) XMLHttpRequest 对象方法


abort()  停止当前请求
getAllResponseHeaders() 作为字符串返问完整的headers
getResponseHeader("headerLabel") 作为字符串返问单个的header标签
open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 设置未决的请求的目标 URL, 方法, 和其他参数
send(content) 发送请求
setRequestHeader("label", "value")  设置header并和请求一起发送

(三) XMLHttpRequest 对象属性


onreadystatechange   状态改变的事件触发器
readyState    对象状态(integer):
    0 = 未初始化
    1 = 读取中
    2 = 已读取
    3 = 交互中
    4 = 完成
responseText  服务器进程返回数据的文本版本
responseXML  服务器进程返回数据的兼容DOM的XML文档对象
status   服务器返回的状态码, 如:404 = "文件末找到" 、200 ="成功"
statusText  服务器返回的状态文本信息


Snort源代码编译 _ 采坑之旅(for Windows VS2015)     系统环境:Windows7 sp1 x64     编译环境:VS2015 SP1     Snort版本:2.9.12     daq版本:2.0.6     Snort官网:https://www.snort.org/downloads#snort-downloads 背景     最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《... 阅读详情

相关推荐

别再死记硬背了!用‘瞬时极性法’5分钟搞定三极管反馈电路类型判断

本文介绍了使用‘瞬时极性法’快速判断三极管反馈电路类型的高效技巧。通过假设输入信号变化并追踪传递路径,该方法能准确区分正负反馈、电压电流反馈、串联并联反馈及交直流反馈,避免传统死记硬背的弊端,显著提升电路分析效率。

weixin_42524708的博客 182

AjaxResult

第一种:map msg:“操作成功” code:0 data:{res:true} Map map =new HashMap(); map.put("res",true); return AjaxResult.success(map); 第二种:String msg:“哈哈哈” code:0 return AjaxResult.success("哈哈哈"); ...

飘然生的博客 1万+

Windows环境下DataEase一站式安装指南(含WSL2+Docker配置)

本文详细介绍了在Windows环境下通过WSL2和Docker快速部署DataEase的完整教程。从WSL2配置、Docker环境搭建到DataEase离线安装,逐步指导用户完成一站式部署,特别适合需要快速搭建数据分析平台的开发者。教程包含常见问题解决方案和性能优化技巧,帮助用户高效使用这款国产开源数据可视化工具。

weixin_42526166的博客 392

Java返回数据结果统一封装体AjaxResult

一、方法返回数据结果的封装体分析 code:状态码 msg:返回消息(内容) data:数据对象 二、AjaxResult实体类 AjaxResult实体类继承HashMap<String,Object>,方便其构造方法调用父类put()方法,将需要的内容封装在集合内,即super.put()。 /** * 数据结果封装体 AjaxResult * * @author LBF */ public class AjaxResult extends HashM...

彼岸尚有荣光在,应不断记录总结!!! 1万+

强化学习-动态规划

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略。

qq_45481856的博客 2113

基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

基于STM32F103C8T6的循迹避障小车完整制作过程 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程种也参考了很多大神分享的资料,学到很多的东西。但是资料都比较分散,有些东西也不好找,在这里就想把自己制作小车的一个整体过程记录分享一下,希望能够帮到你。 我自己也算是一个小白,之前有做过 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎...

weixin_43924857的博客 14万+

jQuery AJAX 方法 success()后台传来的4种数据

1.后台返回一个页面js代码2.返回一个基本类型3.返回一个自定义实体类4返回一个实体类的list

dream_heheda的博客 11万+

金蝶ERP元数据解析:字段属性与表结构映射实战

本文深入解析金蝶ERP元数据的核心价值与应用实践,详细介绍了字段属性与表结构映射的关键技术。通过缓存获取与工具类直连两种方案对比,结合实际案例展示元数据在数据库校验、动态表单生成等场景的应用,帮助开发者高效解决二次开发中的常见问题。

weixin_33738555的博客 433

三、若依登录功能(按钮)前、后端代码详解

验证校验码:在longin函数中调用了一个封装函数来进行验证操作码方式点进去后可发现其函数代码如下问所示://用于获取验证码开关 boolean captchaEnabled = configService . selectCaptchaEnabled();//用于获取验证码开关 if(captchaEnabled) {

qq_45647792的博客 3818

地下管网巡检机器人:基于YOLOv8与UI界面的智能化系统设计与实现

通过YOLOv8模型的目标检测功能结合实时视频流,我们能够实现对地下管网巡检机器人的智能化控制。系统通过图像识别技术帮助巡检人员快速识别管道中的各种缺陷和障碍物,从而提高巡检效率和准确性。未来,我们可以继续优化模型,增加更多的目标类别,并通过强化学习等方法提高机器人的自主巡检能力。此外,随着硬件技术的发展,未来的巡检机器人可能会具备更强的感知能力和更高的智能水平。

YOLO 529

UGUI合批杀手:Mask/RectMask2D为何必断合批?

颜色缓冲负责记录像素颜色;模板缓冲负责记录“这个像素的模板值”(一个小整数);渲染时,你可以设定:只有模板值为 X 的地方才允许画;或者往某些区域写特定的模板值。类似于:先拿一支隐形笔在纸上画出一块区域,给它记一个编号“1”,后面的涂色动作只允许涂在“编号为1”的区域上。合批的前提:渲染状态不变,连续元素能一口气画完。材质、贴图、混合模式、Stencil、裁剪区域……都得一致。Mask / RectMask2D 的本质:在渲染状态上加规则——“只在某个区域内允许写像素”。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 117

Ajax实例讲解与技术原理

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。解决传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

Evankaka的专栏 1万+

【GameFramework框架】一、框架介绍

这是GameFramework框架教程的第一篇,但是博主不准备直接就讲GameFramework框架。【GameFramework框架】二、GameFramework框架介绍了。框架(Framework)通常被理解为一种基础要素的集合,它们用于承载系统的必要功能。约束性:框架定义了解决特定问题的边界,并将相关的软件组件约束在这个范围内,以保持框架的内聚性和解决问题的专注性。支撑性:框架本身不直接解决问题,而是提供一个基础的支撑结构,使得在其上构建的解决方案更为灵活和高效。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1万+

Ajax原理及实例

Ajax原理

weixin_44992737的博客 446

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Ajax学习总结(1)——Ajax实例讲解与技术原理

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34088598的博客 233

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Ajax工作原理及优缺点实例解析例子解析

Ajax(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容的技术。以下是Ajax的工作原理、优缺点以及一个详细的例子。

IT老农民的博客 728

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Ajax 工作原理 及 实例

参考文档:https://blog.csdn.net/wu_duo/article/details/52627193 ajax 的全称是Asynchronous JavaScript and XML,其中 Asynchronous 是异步的意思,它于传统web开发的同步方式不同。 1. 关于同步与异步    同步: 面向比特的传输,单位是帧。它传输的时候要求接收方和发送发的始终保持一致,而...

weixin_34301307的博客 158

Ajax工作原理及实例

Ajax工作原理及实例 欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~ Ajax基本概念 Ajax(Asynchronous JavaScript And XML),异步 JavaScript 和 XML,用于异步请求数据,在不刷新网页的情况下更新页面数据,提升用户体验 基本工作原理 注意:涉及到 AJAX 操作的页面“不能”...

王工头的博客 813

ajax原理 XmlHttpRequest对象 【AJAX 实例】

ajax 的全称是Asynchronous JavaScript and XML,其中,Asynchronous 是异步的意思,它有别于传统web开发中采用的同步的方式。   异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的。 同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和

互联网金融爱好者 1502

Ajax原理、用法与经典代码实例

Ajax是一种异步网页交互技术,可实现局部刷新而不重载整个页面。它通过XMLHttpRequest或现代fetch/axios向服务器发送请求,处理返回的JSON/XML等数据后动态更新网页内容。典型应用包括搜索联想、表单提交和实时聊天。早期使用jQuery的$.ajax,现在推荐Promise风格的fetch/axios和async/await写法。Ajax提升了用户体验,但需注意跨域问题和异步处理逻辑。现代开发中,fetch和axios因其简洁和可维护性成为主流选择。

草履虫建模的博客 826
上一篇: Javascript匿名函数
下一篇: Javascript 高效率http页面优化法则之DOM操作
jiestyle21
博客等级 码龄17年 36粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值