1、Ajax、get、post、ajax,随机颜色

news/2025/4/2 6:25:40/

一、Ajax初始

1、什么是Ajax?

  • 异步的JavaScript和xml

2、xml是什么?

  • 一种标记语言,传输和存储数据----------现在用JSON传输数据

3、Ajax的作用

局部加载
可以使网页异步更新

4、Ajax的原理或者步骤(6步)

  • 创建Ajax对象
if (window.XMLHttpRequest) {var xhr = new XMLHttpRequest()console.log(xhr, typeof xhr, xhr instanceof Object);
} else {
//iE6以下var xhr = new ActiveXObject()
}
  • 设置请求的方式、地址、是否异步
xhr.open('get', './数据', true)
  • 向后端发起请求
xhr.send()
  • 后端接收数据
xhr.onreadystatechange = function () {console.log(xhr)
}
  • 后端进行数据判断
  if(xhr.readyState == 4 && xhr.status == 200) {console.log("请求成功!")
}
  • 将成功后的数据返回给前端,并进行渲染
document.getElementByTagName('h1')[0].innerText = xhr.responseText

5、地址栏传参实例

地址栏传参query: url?参数=+具体的值

//1、创建Ajax对象
if (window.XMLHttpRequest) {var xhr = new XMLHttpRequest()
} else {//iE6以下var xhr = new ActiveXObject()
}
console.log(str)
// 2、设置请求的方式、地址、是否异步
/*-------------地址栏传参query: url?参数=+具体的值------------*/
xhr.open('get', './getHead.php?q=' + str, true)
// 3、向后端发起请求
xhr.send()
// 4、后端接收数据
xhr.onreadystatechange = function () {
// 5、后端进行数据判断if (xhr.readyState == 4 && xhr.status == 200) {
// 6、将成功后的数据返回给前端,并进行渲染console.log(xhr)document.getElementById('result').innerHTML = xhr.response}
}
image-20240304114604797

6、请求体传参

请求体传参body:“参数=”+具体的值
JSON字符串转JSON对象

json字符串转json对象:JSON.parse(json对象)
var obj = JSON.parse(xhr.response)

字符串转json对象:JSON.parse(json对象)

  • application/x-www-form-urlencoded 表单的格式
  • application/json json的格式 (默认的)
var user = document.getElementById('user')
var pwd = document.getElementById('pwd')
function login() {//1、创建Ajax对象if (window.XMLHttpRequest) {var xhr = new XMLHttpRequest()} else {var xhr = ActiveXObject()}xhr.open('post', '../tt_post.php', true)
// 请求体传参在传递之前必须设置请求头,如果不设置就是默认的
// setRequestHeader('Content-Type', '类型的值')
/* application/x-www-form-urlencoded   表单的格式application/json   json的格式 (默认的)
*/
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.send('username=' + user.value + '&password=' + pwd.value)xhr.onreadystatechange = function () {if (xhr.readyState == 4 && xhr.status == 200) {console.log(xhr)console.log(xhr.response)console.log(typeof xhr.response)// JSON字符串转JSON对象var obj = JSON.parse(xhr.response)console.log(obj)document.getElementById('result').innerHTML ='<p>' + obj.username + '</p><p>' + obj.password + '</p>'}}
}
image-20240304114517849

二、$.get方法请求数据

  • 一般的get请求都是地址栏传参
  • $.get(url,function(data,stutas){}) 只能运用get请求
  • data:返回的数据
  • stutas:状态 成功success 失败error
<body><h1>在输入框中尝试输入字母 a:</h1><form action=""><label for="">请输入:</label><input type="text" id="valueText" /></form><p><span>提示信息:</span><b id="result"></b></p>
</body>
$('#valueText').keyup(function () {$.get('getHead.php?q=' + $(this).val(), function (data, stutas) {// console.log(stutas)if (stutas == 'success') {// console.log(data)$('#result').text(data)}})
})         

三、$post方法请求数据

  • $.post(url,params,function(data,stutas){}) 只能运用于post请求
  • url:请求的地址
  • params:请求的参数
  • data:返回的数据
  • stutas:状态
<body><form action="" method="get"><div><label for="">姓名:</label><input type="text" id="user" /></div><div><label for="">密码:</label><input type="password" id="pwd" /></div></form><button>登录2343434344</button><div id="result"></div>
</body>
<script>$('button').click(function () {$.post('./tt_post.php','username=' + $('#user').val() + '&password=' + $('#pwd').val(),function (data, stutas) {if (stutas == 'success') {$('#result').html('<p>' +JSON.parse(data).username +'</p><p>'            +JSON.parse(data).password +'</p>')}})})</script>

四、$.ajax方法请求数据

$.ajax({url: './tt_post.php', //请求的地址,type: 'POST', //请求的方式async: true, //是否异步headers: {'Content-type': 'application/x-www-form-urlencoded',}, //请求头data: {username: $('#user').val(),//获取输入框的值password: '1243',}, //参数success: function (res) {console.log(res) //返回的数据}, //成功后error: function (err) {console.log(err) //Ajax对象}, //失败后complete: function (data) {console.log(data) //Ajax对象}, //都会执行完成的方法
}) 

五、get请求和post请求的区别?

image-20240304163333417

六、随机颜色

function changeColor() {var red = Math.floor(Math.random() * 256);var green = Math.floor(Math.random() * 256);var blue = Math.floor(Math.random() * 256);var color = 'rgb(' + red + ', ' + green + ', ' + blue + ')';return color;
}

http://www.ppmy.cn/news/1372350.html

相关文章

在Vue中搭建Three.js环境(超详细、保姆级),创建场景、相机、渲染器《一》

目录 Three.js简介创建vue项目引入Three.js实际操作环节文件目录创建初始化场景、相机 Three.js简介 Three.js 是一款基于 WebGL的 JavaScript 3D 库&#xff0c;它封装了 WebGL API&#xff0c;为开发者提供了简单易用的 API 来在 Web 浏览器中展示 3D 图形。Three.js 提供了…

ElasticSearch架构介绍及原理解析

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎&#xff0c;用于处理大量的数据。它是由 Elasticsearch BV 公司开发&#xff0c;并且是用 Java 语言编写的。Elasticsearch 基于 Lucene 搜索引擎&#xff0c;提供了 RESTful API&#xff0c;允许你通过 JSON 格式的请…

pdf属性修改教程 如何修改pdf 属性?

PDF&#xff08;Portable Document Format&#xff09;是一种广泛使用的文件格式&#xff0c;用于呈现文档&#xff0c;包括文本、图像、图形和其他元素。PDF文件的一个特点是其属性&#xff0c;这些属性包括文件的创建日期、修改日期、作者、标题、主题、关键词等。这些属性在…

tomcat动静分离和负载均衡

目录 引言 1.实验环境搭建 2.部署Nginx服务器及配置静态页面Web服务 3.部署Tomcat服务及配置动态页面Web服务 4.实验验收 动态页面 静态页面 引言 tomcat服务既可以处理动态页面&#xff0c;也可以处理静态页面&#xff1b;但其处理静态页面的速度远远不如nginx和apache…

材料物理 (HIT) 笔记-2

原内容请参考哈尔滨工业大学何飞教授&#xff1a;https://www.bilibili.com/video/BV18b4y1Y7wd/?p12&spm_id_frompageDriver&vd_source61654d4a6e8d7941436149dd99026962 或《材料物理性能及其在材料研究中的应用》&#xff08;哈尔滨工业大学出版社&#xff09; 三…

mysql SQL优化工作记录(1)

今天生产数据库预警了&#xff0c;马上拉一下慢日志&#xff0c;定位了慢SQL&#xff0c;发出来大家一起学习 select a.fid,a.fname,a.fremark from a where a.fid -1 fid是表的主键&#xff0c;按主键查询怎么会出现扫全表的情况了&#xff0c;原因是fid是字符串类型&#…

Root of AVL Tree (25)

1、题意 求所有数插入后&#xff0c;根节点是哪个数 2、两种代码&#xff1a; 2.1 代码1&#xff1a; #include<iostream> #include<algorithm>using namespace std; const int N 30; int l[N],r[N],v[N],h[N],idx;void update(int u)// 计算子树的高度 {h[…

TQTT X310 软件无线电设备的FLASH固件更新方法

TQTT X310 除了PCIE口全部兼容USRP 官方的X310&#xff0c;并配备两块UBX160射频子板以及GPSDO。TQTT X310可以直接使用官方的固件&#xff0c;但是不支持官方的固件升级命令。这篇BLOG提供烧写刷新FLASH的方法。 1&#xff0c;使用的是WINDOWS系统。首先给X310接入电源并开机…