vba xmlhttp 抓取网页(AJAX1.实现方式原生的JS实现 )

优采云 发布时间: 2022-04-17 21:37

  vba xmlhttp 抓取网页(AJAX1.实现方式原生的JS实现

)

  文章目录

  一、AJAX 1.概念

  Ajax 是一种无需重新加载整个网页即可更新部分网页的技术。它是异步 JavaScript 和 XML。

   通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某

部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。

  异步:

  客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作

  同步:

  客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作

  2.实现方式Native JS实现方式

  

//定义方法

function fun() {

//发送异步请求

//1、创建核心对象

var xmlhttp;

if (window.XMLHttpRequest) {

xmlhttp = new XMLHttpRequest();

} else {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

//2、建立连接

/*

参数:

1、请求方式:GET、POST

get方式,请求参数在URL后边拼接,send方法为空参

post方式,请求参数在send中定义

2、请求的URL

3、同步或异步请求:true(异步)或false(同步)

*/

xmlhttp.open("GET", "ajaxServlet?username=tom", true);

//3、发送请求

xmlhttp.send();

//4、接收并处理来着服务的响应结果

//获取方式:xmlhttp.responseText

//当服务器响应成功后再获取

//当xmlhttp对象的就绪状态改变时,触发事件onreadystatechange

xmlhttp.onreadystatechange = function () {

//判断readyState就绪状态是否为4,判断事件status响应状态码是否为200

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

//获取服务器的响应结果

var responseText = xmlhttp.responseText;

alert(responseText);

// document.getElementById("myDiv").innerHTML = xmlhttp.responseText;

}

}

}

  JQeury实现方法

  1、$.ajax()

  语法:

  $,ajax({键值对});

  示例代码:

  

//定义方法

function fun() {

//使用$.ajax()发送异步请求

$.ajax({

url: "ajaxServlet",//请求路径

type: "POST",//请求方式

data: "username=jack&age=23",//请求参数方式一

data: {"usernsme": "jack", "age": 23},//方式二

success: function (data) {

alert(data);

},//响应成功后的回调函数

error: function () {

alert("出错了");

},//如果请求响应出现错误会执行的回调函数

dataType: "text",//设置接收到的响应数据的格式

});

}

  2、$.get()

  语法:

  $.get(url, [data], [callback], [type])

url:请求路径

data:请求参数

callback:回调函数

type:响应结果的类型

  示例代码:

  

//定义方法

function fun() {

$.get("ajaxServlet", {username: "rose"}, function (data) {

alert(data);

}, "text");

}

  3、$.post()

  语法:

  $.post(url, [data], [callback], [type])

  示例代码:

  二、JSON 1.概念

  JSON 是一种 JavaScript 对象表示法,现在主要用于存储和交换文本信息以及用于数据传输。 JSON 比 XML 更小、更快且更易于解析。

  2.语法基本规则

  数据在名称/值对中:json数据是由键值对构成的

键用引号(单双都行)引起来,也可以不使用引号

值的取值类型:

1. 数字(整数或浮点数)

2. 字符串(在双引号中)

3. 逻辑值(true 或 false)

4. 数组(在方括号中) {"persons":[{},{}]}

5. 对象(在花括号中) {"address":{"province":"XX"....}}

6. null

数据由逗号分隔:多个键值对由逗号分隔

花括号保存对象:使用{}定义json 格式

方括号保存数组:[]

  示例代码:

  

//定义基本格式

var parson = {"name": "张三", age: 23, 'gender': true};

//1、获取name的值

// var name = parson.name;

var name = parson["name"];

// alert(name);

// alert(parson);

//2、嵌套格式{}---->[]

var persons = {

"persons": [

{"name": "张三", "age": 23, "gender": true},

{"name": "李四", "age": 13, "gender": true},

{"name": "王五", "age": 45, "gender": false}

]

};

//获取王五值

var name1 = persons.persons[2].name;

// alert(name1);

// alert(persons);

//2、嵌套格式[]---->{}

var ps = [

{"name": "张三", "age": 23, "gender": true},

{"name": "李四", "age": 13, "gender": true},

{"name": "王五", "age": 45, "gender": false}

];

//获取李四值

alert(ps[1].name);

// alert(ps);

  获取数据

   1. json对象.键名

2. json对象["键名"]

3. 数组对象[索引]

4. 遍历

  循环值示例:

<p>

//定义基本格式

var parson = {"name": "张三", age: 23, &#39;gender&#39;: true};

//获取person对象中所有的键和值

//for in循环

/* for (var key in parson) {

//获取不出来,因为相当于person."name"

// alert(key+":"+parson.key);

alert(key + ":" + parson[key]);

}*/

//2、嵌套格式[]---->{}

var ps = [

{"name": "张三", "age": 23, "gender": true},

{"name": "李四", "age": 13, "gender": true},

{"name": "王五", "age": 45, "gender": false}

];

//通过双层for循环获取ps的所有值

for (var i = 0; i

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线