xmlhttp

实现原生Ajax的过程和代码

二次信任 提交于 2019-12-02 11:17:30
1 概述 Ajax是前端中发送请求最最基础的方法,在jq中已经封装好了,在axios中更是多次封装,那Ajax的实现原理到底是怎样的呢? 本博文就原生Ajax进行解析和代码展示, 2 Ajax 创建XMLHttpRequest对象; 注意兼容 注册回调函数,在XMLHttpRequest中设置要发送的请求,利用的是open(first,second,third)方法 1)param first:提交的方式 get或者是post 2)param second:该次请求的路径url,如果是get,则需要在路径后加上传递的相应参数parama,该url为servlet对应的url 3)param third:提交的模式是同步模式还是异步模式 true代表异步模式 发送请求给服务器,利用的是xmlHttp.send(null) ,加上null代表火狐和ie都支持 利用xmlHttp的onreadystatechange的事件来监视xmlHttp.readyState的状态,每次改变时都调用函数(回调函数) 在回调函数中处理返回值 利用dom模型写到页面的指定位置 实现局部刷新 var XHR = null ; var XHRcreate = function ( ) { if ( window . XMLHttpRequest ) { //针对FireFox,Mozillar,Opera

Ajax & Json

家住魔仙堡 提交于 2019-12-02 08:04:57
目录 Ajax 同步和异步请求 Json 样例 Ajax 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。 提升用户的体验 2. 实现方式: 1. 原生的JS实现方式(了解) //1.创建核心对象 var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //2. 建立连接 /* 参数: 1.

AJAX

白昼怎懂夜的黑 提交于 2019-12-01 22:02:00
一、AJAX 1、概述 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。 提升用户的体验 二、实现方式 1. 原生的JS实现方式(了解) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> //定义方法 function fun() { //发送异步请求 //1.创建核心对象 var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new

清理网站缓存的几种方法

喜欢而已 提交于 2019-12-01 16:22:55
清理网站缓存的几种方法 meta方法 <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="0"> 清理form表单的临时缓存 <body onLoad="javascript:document.yourFormName.reset()"> jquery ajax清除浏览器缓存 方式一:用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下: $.ajax({ url:'www.haorooms.com', dataType:'json', data:{}, beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }, success:function(response){ //操作 } async:false }); 方法二,直接用cache:false, $

封装简单的Ajax

筅森魡賤 提交于 2019-12-01 02:14:42
调用请求: var obj = { url:"", //url地址 例如:test.php method:"", //get或post(大小写不限) 例如:get async:true, //true:异步请求 false:同步请求 默认true data:{ //所需要传输的数据(被注释内容为测试所用) // name:"战斗机", // age:20, // husband:null, // arr:["one","two","three"], // dimensional:{ // bust:100, // waist:60, // hipline:90 // } }, success:function (res) { //传输成功的回调函数 //console.log(res) }, fail:function (res) { //失败的回调函数 } } myAjax(obj); 封装函数: //myAjax() function myAjax(obj) { // 1.创建http请求 var xmlhttp; if (window.XMLHttpRequest) { //兼容IE7+,firefox,chrome, opera, safari xmlhttp = new XMLHttpRequest(); }else{ //兼容IE6,IE5 xmlhttp = new

[Android]PhoneGap源码分析——CallbackServer异步回调

ε祈祈猫儿з 提交于 2019-11-30 15:19:28
PhoneGap的js回调有几种实现方式。其中一种是ajax。 我们先来看一下js端相关代码: // file: lib/android/plugin/android/callback.js define("cordova/plugin/android/callback", function(require, exports, module) { var port = null, token = null, xmlhttp; function startXhr() { // cordova/exec depends on this module, so we can't require cordova/exec on the module level. var exec = require('cordova/exec'), xmlhttp = new XMLHttpRequest(); // Callback function when XMLHttpRequest is ready xmlhttp.onreadystatechange=function(){ if (!xmlhttp) { return; } if (xmlhttp.readyState === 4){ // If callback has JavaScript statement to execute if

利用XMLHttpRequest 通过HTTP POST向ABAP backend发送数据

筅森魡賤 提交于 2019-11-29 15:59:48
Created by Jerry Wang, last modified on Aug 19, 2014 Javascript source code: < html > < head > < script type = " text/javascript " > var xmlhttp ; function GetXmlHttpObject ( ) { if ( window . XMLHttpRequest ) { return new XMLHttpRequest ( ) ; } if ( window . ActiveXObject ) { return new ActiveXObject ( "Microsoft.XMLHTTP" ) ; } return null ; } function stateChanged ( ) { if ( xmlhttp . readyState == 4 ) { document . getElementById ( "result" ) . innerHTML = xmlhttp . responseText ; document . getElementById ( "result" ) . style . border = "1px solid #A5ACB2" ; } } function getRequestURL ( str

js 判断文件是否存在(转载)

て烟熏妆下的殇ゞ 提交于 2019-11-29 15:58:27
js 判断文件是否存在(转载) var fso,s=filespec; // filespec="C:/path/myfile.txt"fso=new ActiveXObject("Scripting.FileSystemObject");if(fso.FileExists(filespec))s+=" 文件存在.";elses+=" 文件不存在.";alert(s); 判断服务器端(网络文件)时,可以用 var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");xmlhttp.open("GET",yourFileURL, false );xmlhttp.send(); if (xmlhttp.readyState==4){ if (xmlhttp.status==200)s+=" 存在."; // url存在 else if(xmlhttp.status==404)s+=" 不存在."; //url不存在 else s+="";//其他状态 } alert(s); 转载于:https://my.oschina.net/u/1590001/blog/268253 来源: https://blog.csdn.net/cheshifei3571/article/details/100849052

Microsoft Dynamics CRM4.0 和 Microsoft Dynamics CRM 2011 JScript 方法对比

折月煮酒 提交于 2019-11-29 12:34:04
CRM 2011 如果需要再IE里面调试,可以按F12在前面加上contentIFrame,比如 contentIFrame.document.getElementById("字段")或contentIFrame.Xrm.Page.context.getUserId()(获取当前登录用户的GUID)。 方法名 Microsoft Dynamics CRM 4.0 Microsoft Dynamics CRM 2011 保存 crmForm.Save() Xrm.Page.data.entity.save() 保存并关闭 crmForm.SaveAndClose() Xrm.Page.data.entity.save("saveandclose") 保存并新建 crmForm.SaveAndNew() Xrm.Page.data.entity.save("saveandnew") 获取实体名 crmForm.ObjectTypeName Xrm.Page.data.entity.getEntityName() 获取当前表单记录的GUID crmForm.ObjectId Xrm.Page.data.entity.getId() 实体类型代码 crmForm.ObjectTypeCode 没有 表单类型 crmForm.FormType Xrm.Page.ui.getFormType(

Django之Ajax

空扰寡人 提交于 2019-11-29 08:16:20
AJAX必备知识:JSON json JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解 * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 合格的json对象 ["one", "two", "three"] { "one": 1, "two": 2, "three": 3 } {"names": ["张三", "李四"] } [ { "name": "张三"}, {"name": "李四"} ]  不合格的json对象 { name: "张三", 'age': 32 }        // 属性名必须使用双引号 [32, 64, 128, 0xFFF]            // 不能使用十六进制值 { "name": "张三", "age": undefined } // 不能使用undefined { "name": "张三", "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'), "getName": function() {return this.name;}