GVKun编程网logo

防止页面url缓存中ajax中post请求的处理方法(ajax禁止缓存)

2

对于想了解防止页面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禁止缓存)

防止页面url缓存中ajax中post请求的处理方法(ajax禁止缓存)

防止页面url缓存中ajax中post请求的处理方法

一般我们在开发中经常会用到Ajax请求,异步发送请求,然后获取我们想要的数据,在Ajax中使用Get请求数据不会有页面缓存的问题,而使用POST请求可是有时候页面会缓存我们提交的信息,导致我们发送的异步请求不能正确的返回我们想要的数据,那么遇到这种情况,我们应该怎么办呢???

下面介绍一种方式来防止ajax中post 请求 页面缓存 url 信息:

rush:js;"> $.post(url,data,ranNum:Math.random()},function(data){ if("success"==data){ alert("success"); }else{ alert("error"); } })
rush:js;"> url : 请求的URL 地址

data : 请求的数据

ranNum : 这个是防止缓存的核心,每次发起请求都会用Math.random()方法生成一个随机的数字,这样子就会刷新url缓存

这个ranNum的生成方式有多种形式,你也可以按照自己的生成方式进行生成,只要确保生成数据的时候是随机的就好!这就是Ajax防止发送请求的时候防止url缓存的方法。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!

Ajax Post请求处理

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请求跳转页面

最近因为公司需求,需要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 的get请求的缓存处理方案全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

ajax 第十二节 AJAX-Axios发送AJAXget,post请求

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请求的相关知识,请在本站搜索。

本文标签:

上一篇基于js原生和ajax的get和post方法以及jsonp的原生写法实例(js原生的get和post请求)

下一篇在Vue组件化中利用axios处理ajax请求的使用方法(vue ajax axios)