使用jQuery处理Ajax

使用jQuery处理Ajax

HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法

所有的WWW文件都必须遵守这个标准

一次HTTP操作称为一个事务,其工作过程可分为四步

在这里插入图片描述

HTTP协议-请求方法

方法说明
OPTIONS返回服务器针对特定资源所支持的HTTP请求方法
HEAD向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回
GET向特定的资源发出请求
POST向指定资源提交数据进行处理请求
PUT向指定资源位置上传其最新内容
DELETE请求服务器删除Request-URI所标识的资源
TRACE回显服务器收到的请求,主要用于测试或诊断
CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
PATCH实体中包含一个表,表中说明与该URI所表示的原内容的区别

HTTP协议-GET和POST区别

GETPOST
缓存能被缓存不能缓存
编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码
历史参数保留在浏览器历史中参数不会保存在浏览器历史中
对数据长度的限制当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)无限制
对数据类型的限制只允许 ASCII 字符没有限制,也允许二进制数据
安全性与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中
可见性数据在 URL 中对所有人都是可见的数据不会显示在 URL 中

Ajax概念

Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术

原生创建Ajax的步骤

创建Ajax对象

连接到服务器

发送请求

接收返回值

创建Ajax对象

非IE6语法:var oAjax=new XMLHttpRequest();

老版本IE5 和 IE6语法:varoAjax=newActiveXObject(“Microsoft.XMLHTT”)

if (window.XMLHttpRequest){var oAjax=new XMLHttpRequest();//  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
}else{var oAjax=new ActiveXObject("Microsoft.XMLHTTP");// IE6, IE5 浏览器执行代码 }

连接到服务器

open(方法,文件名,同步异步)

参数一:post/get

参数二:请求的文件名

参数三:同步(false) 异步(true)

oAjax.open("GET","abc.txt",true);

发送请求

send()

oAjax.send();

接收返回值

oAjax.onreadystatechange=function(){if (oAjax.readyState==4 && oAjax.status==200){alert("请求成功"+oAjax.responseText);}else{alert("请求失败"+oAjax.status);}
}

使用jQuery处理Ajax

$.ajax() 方法

通过 HTTP 请求加载远程数据

jQuery.ajax([settings])
setting:可选。用于配置 Ajax 请求的键值对集合$("#b01").click(function(){htmlobj=$.ajax({url:"/jquery/test1.txt",async:false});$("#myDiv").html(htmlobj.responseText);});

$.ajax() 方法-参数

$().load()方法

从服务器加载数据,并把返回的数据放入被选元素中

$(selector).load(URL,data,callback);URL:必需参数,路径
data:可选参数,与请求一同发送的查询字符串键/值对集合
callback:可选参数,load() 方法完成后所执行的函数名称
$.get() 方法

通过 HTTP GET 请求从服务器上请求数据

$.get(URL,callback);URL:必需参数,路径
callback:可选参数,请求成功后所执行的函数名
$.post() 方法

通过 HTTP POST 请求从服务器上请求数据

$.post(URL,data,callback);URL:必需参数,路径
data:可选参数,连同请求发送的数据
callback:可选参数,请求成功后所执行的函数名

什么是跨域

跨域,指的是浏览器不能执行其他网站的脚本

例子:比如在网站中使用ajax请求其他网站的天气、快递或者其他数据接口

产生跨域的原因

由浏览器的同源策略造成的===>同域名,同端口,同协议

跨域解决方案1

CORS跨域资源共享

服务端:header(“Access-Control-Allow-Origin:*”);

“*”表示所有的域都可以接受

缺点

ie10以下不支持(可以用XDR实现)

跨域解决方案2

jsonp

动态创建script标签,使用jQuery的jsonp请求

优点

兼容性强&不受同源策略的限制

缺点

只能用get方法,不能使用post方法

跨域解决方案3

基于iframe实现跨域

在两个页面中同时添加document.domain

跨域解决方案4

web sockets

缺点

只有在支持web sockets协议的服务器上才能正常工作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149318.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Pandas -----------------------基础知识(三)

dataframe添加列 删除行与列去重修改列自定义函数 加载数据 import pandas as pd# 加载数据集 ./data/b_LJdata.csv df pd.read_csv(./data/b_LJdata.csv).head(10) df dataframe添加列 在后面追加 df[城市] 北京 df df[区县] [朝阳区, 朝阳区, 西城区, 昌平区, 朝阳区,朝阳…

2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模+GBDT+LSTM 进阶建模文章)

2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模GBDTLSTM 进阶建模文章) 全文请从 底部名片 处获取哦~ 问题重述和分析 问题重述 本题旨在基于实际测量的WLAN(无线局域网)数据,建立一个精确的系统吞吐量预测模型。具体而言&…

计算机毕业设计 校园志愿者管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

示例说明:分布式系统实战经验

在分布式系统中,实战经验是非常宝贵的,因为它涉及到系统的高可用性、数据一致性、性能优化等多个方面。以下是一些具体的实战经验举例: 1. 高可用性设计 案例: 在电商系统中,订单服务需要保证高可用性。为了防止单点故障&#x…

kettle发邮件:使用Kettle实现自动化发信?

kettle发邮件配置教程?Kettle如何实现邮件发送功能? Kettle,作为一款强大的开源ETL工具,不仅在数据转换和加载方面表现出色,还能通过其内置的功能实现自动化发邮件。AokSend将详细探讨如何使用Kettle发邮件&#xff0…

【LLM多模态】文生视频综述From Sora What We Can See: A Survey of Text-to-Video Generation

note 现在很多主流的文生视频应该还是Diffusion-based 基于扩散模型的方法这篇综述将现有研究按照三个维度进行分类:进化生成器(Evolutionary Generators)、卓越追求(Excellent Pursuit)、现实全景(Realis…

在IntelliJ IDEA中设置文件自动定位

当然,以下是一个整理成博客格式的内容,关于如何在IntelliJ IDEA中设置文件自动定位功能。 在IntelliJ IDEA中设置文件自动定位 背景 最近由于公司项目开发的需求,我从VSCode转到了IntelliJ IDEA。虽然IDEA提供了许多强大的功能,…

【机器学习】——支持向量机

文章目录 支持向量机(Support Vector Machine, SVM)概述SVM 的工作原理线性不可分数据:软间隔与核技巧SVM 的数学形式SVM 的优势SVM 的缺点SVM 的应用 支持向量机(Support Vector Machine, SVM)概述 支持向量机&#…

Linux基本命令总结(佛系更)

目录 前言 一、Linux的基本目录 目录: 前缀: 二、Linux基本命令 文件相关 1.pwd: 2.ls [option] [file]: 3.cd [xxx]: 4.mkdir [option] directory: 5.rmdir [option] directory: rm 6.touch file: 7.cp: 8.mv&…

0-1开发自己的obsidian plugin DAY 1

官网教程有点mismatch,而且从0-100跨度较大,📝记录一下自己的踩坑过程 首先,官网给的example里只有main.ts,需要自己编译成main.js 在视频教程(https://www.youtube.com/watch?v9lA-jaMNS0k)里…

同一网络下两台电脑IP一样吗?探究局域网内的IP分配机制

在日常生活和工作中,我们经常会在同一网络环境下使用多台电脑。这时,一个常见的问题就会浮现:同一网络下两台电脑IP一样吗?这个问题看似简单,但实际上涉及到局域网内的IP分配机制。本文将深入探讨这一问题,…

付费电表系统的通用功能和应用过程参考模型(上)

Generic functions and application process reference model for the Payment Metering System 付费电表系统的通用功能和应用过程参考模型 1. 参考模型 Reference model 1.1 在参考模型中的符号的说明 Legend of symbols used in the reference model 功能框 (function bo…

c++9月23日

1.My_string 头文件 #ifndef MY_STRINGHEAD_H #define MY_STRINGHEAD_H#include <iostream> #include <cstring> using namespace std;class My_string { private:char *ptr;//指向字符数组的指针int size;//字符数组的最大容量int len ;//当前字符串的长度 publ…

IMX6UL开发板中断实验(三)

在上一节我们编写完成了中断驱动文件和中断驱动头文件&#xff0c;那么这一讲我们将继续中断实验 下面就是GPIO的中断设置&#xff0c;第一步要设置中断GPIO的触发方式&#xff0c;首先我们先看到寄存器&#xff0c;一共有GPIOx_ICR1和ICR2&#xff0c; 图如上&#xff0c;ICR1…

【采集软件】小红书评论高级爬取工具

用python开发了一个爬虫采集软件&#xff0c;叫【爬小红书搜索评论软件】&#xff0c;支持2种模式的评论采集&#xff1a; 1. 根据关键词采集评论&#xff0c;爬取思路&#xff1a;笔记关键词->笔记链接->评论 2. 根据笔记链接采集评论&#xff0c;爬取思路&#xff1a;…

每日一练:翻转二叉树

226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 一、题目要求 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff…

MATLAB Function模块用法案例

Simulink中的MATLAB Function模块是一个非常灵活的工具&#xff0c;允许用户直接在Simulink模型中嵌入MATLAB代码&#xff0c;以实现自定义的算法或功能 MATLAB Function模块的基本用法 添加模块&#xff1a; 在Simulink的模型窗口中&#xff0c;通过搜索“MATLAB Function”…

大数据新视界 --大数据大厂之 Reactjs 在大数据应用开发中的优势与实践

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

2024 年最新前端工程师 Vue3 框架详细教程(更新中)

vue3 前端框架概述 vue 3 是 Vue.js 的最新版本&#xff0c;是一个用于构建用户界面的渐进式 JavaScript 框架。和 vue 2 相比&#xff0c;vue 3 引入了组合式 API&#xff0c;使开发者可以通过函数组织代码逻辑&#xff0c;适合处理复杂功能。vue 3 在性能上也有显著提升&…

AI Agent智能应用从0到1定制开发Langchain+LLM全流程解决方案与落地实战

大模型微调实战&#xff1a;精通、指令微调、开源大模型微调、对齐与垂直领域应用29套AI全栈大模型项目实战&#xff0c;人工智能视频课程-多模态大模型&#xff0c;微调技术训练营&#xff0c;大模型多场景实战&#xff0c;AI图像处理&#xff0c;AI量化投资&#xff0c;OPenC…