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

一、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.hqwc.cn/news/513654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序开发系列(十三)·如何使用iconfont、微信小程序中如何使用字体图标

目录 1. 如何使用iconfont 2. 微信小程序中如何使用字体图标 3. 背景图的使用 1. 如何使用iconfont 在项目中使用到的小图标&#xff0c;一般由公司设计师进行设计&#xff0c;设计好以后上传到阿里巴巴矢量图标库&#xff0c;然后方便程序员来进行使用。 小程序中的字体…

spark 实验二 RDD编程初级实践

目录 一. pyspark交互式编程示例&#xff08;学生选课成绩统计&#xff09; 该系总共有多少学生&#xff1b; 该系DataBase课程共有多少人选修&#xff1b; 各门课程的平均分是多少&#xff1b; 使用累加器计算共有多少人选了DataBase这门课。 二.编写独立应用程序实现数…

#WEB前端(Javascript控制台打印以及弹窗)

1.实验&#xff1a; Javascript与Java没有任何关系 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; 内联样式&#xff0c;外联样式&#xff0c;弹窗 a.内联&#xff08;运行之后在浏览器按F12查看控制台信息&#xff09; <!-- 内联样式 --><script>console.log…

Android9-W517-使用NotificationListenerService监听通知

目录 一、前言 二、前提 三、方案 方案一 方案二 方案三 方案四 方案五 方案六 方案七 四、关于NotificationListenerService类头注释 五、结论 一、前言 NotificationListenerService可以让应用监听所有通知&#xff0c;但是无法获得监听通知的权限&#xff0c;如…

能源大数据采集,为您提供专业数据采集服务

随着经济的不断发展&#xff0c;能源产业也逐渐成为国民经济的支柱产业之一。而对于能源行业来说&#xff0c;数据采集是一项至关重要的工作。以往&#xff0c;能源企业采集数据主要依靠人工收集、整理&#xff0c;但是这种方式不仅效率低下&#xff0c;而且容易出现数据不准确…

C及C++每日练习(2)

1.选择&#xff1a; 1.使用printf函数打印一个double类型的数据&#xff0c;要求&#xff1a;输出为10进制&#xff0c;输出左对齐30个字符&#xff0c;4位精度。以下哪个选项是正确的&#xff1f; A.%-30.4e B.%4.30e C.%-30.4f D.%-4.30 在上一篇文章中&#xff0c;提到了…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作&#xff0c;新增啊&#xff0c;修改啊&#xff0c;删除啊&#xff0c;这些命…

最简单的基于 FFmpeg 的 AVDevice 例子(屏幕录制)

最简单的基于 FFmpeg 的 AVDevice 例子&#xff08;屏幕录制&#xff09; 最简单的基于 FFmpeg 的 AVDevice 例子&#xff08;屏幕录制&#xff09;简介libavdevice 使用抓屏方法gdigrabdshow 源程序结果工程文件下载参考链接 最简单的基于 FFmpeg 的 AVDevice 例子&#xff08…

IDEA2023.2版本引用提示no usages的关闭和打开

相信很多下载使用高版本的IDEA的小伙伴们都会发现自己的代码主页会出现一个no usages的提示&#xff0c;如下图所示&#xff0c;其实这是IDEA所做出的来的一个辅助功能&#xff0c;目的是为了让使用者可以清楚的知道你在哪里被使用了&#xff1b;如图&#xff1a; 对于一些经常…

LLM(十一)| Claude 3:Anthropic发布最新超越GPT-4大模型

2024年3月4日&#xff0c;Anthropic发布最新多模态大模型&#xff1a;Claude 3系列&#xff0c;共有Haiku、Sonnet和Opus三个版本。 Opus在研究生水平专家推理、基础数学、本科水平专家知识、代码等10个维度&#xff0c;超过OpenAI的GPT-4。 Haiku模型更注重效率&#xff0c;能…

微信小程序(五十)请求拦截器实现携token获取用户信息

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.个人信息框基本样式 2.请求拦截器携token获取个人信息进行渲染 源码&#xff1a; utils/http.js import http from "wechat-http"//设置全局默认请求地址 http.baseURL "https://live-api.it…

分析开源机器学习框架TensorFlow

TensorFlow是一个开源的机器学习框架&#xff0c;由Google开发和维护。它提供了一个灵活的编程环境&#xff0c;可用于构建和训练各种机器学习模型。TensorFlow的基本概念和使用场景如下&#xff1a; 张量&#xff08;Tensor&#xff09;&#xff1a;在TensorFlow中&#xff0c…