对于想了解防止页面url缓存中ajax中post请求的处理方法的读者,本文将是一篇不可错过的文章,我们将详细介绍ajax禁止缓存,并且为您提供关于AjaxPost请求处理、Ajaxpost请求跳转页面
对于想了解防止页面url缓存中ajax中post请求的处理方法的读者,本文将是一篇不可错过的文章,我们将详细介绍ajax禁止缓存,并且为您提供关于Ajax Post请求处理、Ajax post请求跳转页面、ajax 的get请求的缓存处理方案、ajax 第十二节 AJAX-Axios发送AJAXget,post请求的有价值信息。
本文目录一览:- 防止页面url缓存中ajax中post请求的处理方法(ajax禁止缓存)
- Ajax Post请求处理
- Ajax post请求跳转页面
- ajax 的get请求的缓存处理方案
- ajax 第十二节 AJAX-Axios发送AJAXget,post请求
防止页面url缓存中ajax中post请求的处理方法(ajax禁止缓存)
防止页面url缓存中ajax中post请求的处理方法
一般我们在开发中经常会用到Ajax请求,异步发送请求,然后获取我们想要的数据,在Ajax中使用Get请求数据不会有页面缓存的问题,而使用POST请求可是有时候页面会缓存我们提交的信息,导致我们发送的异步请求不能正确的返回我们想要的数据,那么遇到这种情况,我们应该怎么办呢???
下面介绍一种方式来防止ajax中post 请求 页面缓存 url 信息:
data : 请求的数据
ranNum : 这个是防止缓存的核心,每次发起请求都会用Math.random()方法生成一个随机的数字,这样子就会刷新url缓存
这个ranNum的生成方式有多种形式,你也可以按照自己的生成方式进行生成,只要确保生成数据的时候是随机的就好!这就是Ajax防止发送请求的时候防止url缓存的方法。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!
Ajax Post请求处理
测试页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>AJax Post</title> <script type="text/javascript"> function checkName(){ var xml_request = new XMLHttpRequest(); var namevalue = document.getElementById("name").value; //xml_request.open("post","CheckServlet?name=zhangsan",true); xml_request.open("post","CheckServlet",true); //必须写到 send之前 xml_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xml_request.send("name="+namevalue); xml_request.onreadystatechange = function(){ if(xml_request.readyState==4&&xml_request.status==200){ var name1 = xml_request.responseText; //关注此处 alert(name1+"sd\nda"); alert(namevalue); alert(name1==(namevalue+"\r\n")) document.getElementById("result").innerHTML=xml_request.responseText; } } } </script> </head> <body> <input type="text" name="name" id="name" onblur="checkName();"> <span id="result"></span> </body> </html>
Servlet进行处理代码:
package com.bwie; import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import javax.servlet.servletexception; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CheckServlet extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws servletexception,IOException { response.setContentType("text/html"); request.setCharacterEncoding("UTF-8"); //设置请求编码 response.setCharacterEncoding("UTF-8");//设置响应编码 System.out.println(request.getCharacterEncoding());; System.out.println(response.getCharacterEncoding()); String name = request.getParameter("name"); System.out.println(name); //new String("ab".getBytes("ISO-8859-1"),"UTF-8"); //URLEncoder.encode("abc","UTF-8"); PrintWriter out = response.getWriter(); out.println(name); out.flush(); out.close(); } }
Ajax post请求跳转页面
最近因为公司需求,需要ajax post请求并跳转界面,网上搜了一下资料,差不多都是用window.location.href来处理,但是在请求页面的地址栏中会暴露请求的参数,这是不安全的。
$.post( url, {method:"regist",userName:$nameEle.val(),email:$emailEle.val(),password:$passwordEle.val()}, function(data) { //注册成功页面跳转, window.location.href ="../yiliaoqixie/login.html?name="+$nameEle.val(); } );
因此,只能想到了通过form表单来进行post提交。
<form method="post" action="action" id="fm"> </form> $.post( url, {method:"regist",userName:$nameEle.val(),email:$emailEle.val(),password:$passwordEle.val()}, function(data) { //注册成功页面跳转, var fm=document.getElementById("fm"); fm.submit(); } );
以上所述是小编给大家介绍的Ajax post请求跳转页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
- 使用jQuery的ajax方法向服务器发出get和post请求的方法
- Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法
- asp.net+ajax的Post请求实例
- Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
- 深入理解Ajax的get和post请求
- 防止页面url缓存中ajax中post请求的处理方法
- Jquery中$.post和$.ajax的用法小结
- ajax中get和post的说明及使用与区别
- php采用ajax数据提交post与post常见方法总结
- Jquery AJAX POST与GET之间的区别
- php AJAX POST的使用实例代码
- Ajax提交post请求案例分析
ajax 的get请求的缓存处理方案
总结
以上是小编为你收集整理的ajax 的get请求的缓存处理方案全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
ajax 第十二节 AJAX-Axios发送AJAXget,post请求
1、axios 发送 ajax get 请求 (第一个参数 usr,第二个其它)
<!DOCTYPE html> <html lang="en">
<head> <Meta charset="UTF-8"> <Meta http-equiv="X-UA-Compatible" content="IE=edge"> <Meta name="viewport" content="width=device-width, initial-scale=1.0">
<script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script> <title>Document</title> </head>
<body> <button>GET</button> <button>POST</button> <button>AJAX</button> </body> <script> const btns = document.querySelectorAll(''button''); //设置baseURL axios.defaults.baseURL = ''http://127.0.0.1:8000'' btns[0].onclick = function () { //get请求 axios.get(''/axios-server'', { //usr 参数 params: { id: 100, vip: 7 }, //请求头信息 headers: { name: ''DX3'', age: 20 } }).then(response => { console.log(response); }) }
btns[1].onclick = function () { //post请求,第一个参数是url,第二个参数是请求体,第三个参数是其它 axios.post(''/axios-server'', { username: ''admin'', pwssword: ''admin'' }, { //usr 参数 params: { id: 100, vip: 7 }, //请求头信息 headers: { height: ''DX3'', weight: 20 } }) } </script>
</html>
2、axios 发送 post 请求 ( 第一个参数(usr),第二个参数(请求体),第三个参数(其它))
=============服务端响应 server.js=============
//引用 express const { request, response, json } = require(''express''); const express = require(''express'');
//创建应用对象 const app = express();
//创建路由规则, // request 是对请求报文的封装 // response 是对响应报文的封装 //app.all 可以接收任意类型的请求头
app.all(''/axios-server'', (request, response) => { //设置响应头,设置充许跨域 response.setHeader(''Access-Control-Allow-Origin'', ''*''); response.setHeader(''Access-Control-Allow-Headers'', ''*''); const data = { name: ''xiaoming'', age: ''18'' }; //setTimeout(() => { response.send(JSON.stringify(data)); //}, 3000);
})
// 监听端口启动服务 app.listen(8000, () => { console.log(''服务已经启动,8000端口监听中.......''); })
今天关于防止页面url缓存中ajax中post请求的处理方法和ajax禁止缓存的讲解已经结束,谢谢您的阅读,如果想了解更多关于Ajax Post请求处理、Ajax post请求跳转页面、ajax 的get请求的缓存处理方案、ajax 第十二节 AJAX-Axios发送AJAXget,post请求的相关知识,请在本站搜索。
本文标签: