<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="http://localhost:8081/Test/1.js"></script> </head> <body> <!-- 超链接可以跨域--> <a href="http://localhost:8081/Test/Test.html">走,跨个域</a> <!--form表单测试--> <form action="http://localhost:8081/Test/reg" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="注册"> </form> <script type="text/javascript" src="JS/jQuery-1.0.0.js"> </script> <script type="text/javascript"> $(function(){ $("#AjaxTrans").click(function(){ let ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { // 默认情况下,ajax发出跨域请求会有以下错误 //1.html:1 Access to XMLHttpRequest at 'http://localhost:8081/Test/hello' //from origin 'http://localhost:8080' has been blocked by CORS policy: //No 'Access-Control-Allow-Origin' header is present on the requested resource. //CORS策略阻止,这个ajax请求被同源策略阻止了 //两个站点共享了xmlHttpRequest对象 //因为页面的XmlHttpRequest对象不可以共享,一旦共享,对方就可以拿到我们的responseHtml //同源策略是浏览器的安全策略 //协议,端口号,域名一致才是同源 //同源才可以共享,不同源任何信息都不能共享 //在我们此前所有的跳转和发送请求中,本质都是通过浏览器地址栏跳转来实现的,他们都没有安全问题 //为什么ajax不行,因为只有它发送请求依靠的是我们浏览器内置的XmlHttpRequest对象 //当我们A发送AJAX请求到B站点的时候,相当于我们两个站点共享了XmlHttpRequest对象 //两个站点就都可以获取彼此的response信息,用户的宝贵信息就泄露了 if (ajax.readyState === 4) { if (ajax.status === 200) { $("#myDiv").html(ajax.responseText); } else { alert(ajax.status); } } } ajax.open("GET","http://localhost:8081/Test/hello",true); ajax.send(); }); }); </script> <button onclick="window.location.href='http://localhost:8081/Test/Test.html'">跳页面</button> <button id="AjaxTrans">ajax跨域请求</button> <div id="MyDiv"></div> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="http://localhost:8081/Test/1.js"></script> </head> <body> <!-- 超链接可以跨域--> <a href="http://localhost:8081/Test/Test.html">走,跨个域</a> <!--form表单测试--> <form action="http://localhost:8081/Test/reg" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="password"> <input type="submit" value="注册"> </form> <script type="text/javascript" src="JS/jQuery-1.0.0.js"> </script> <script type="text/javascript"> $(function(){ $("#AjaxTrans").click(function(){ let ajax = new XMLHttpRequest(); ajax.onreadystatechange = function() { // 默认情况下,ajax发出跨域请求会有以下错误 //1.html:1 Access to XMLHttpRequest at 'http://localhost:8081/Test/hello' //from origin 'http://localhost:8080' has been blocked by CORS policy: //No 'Access-Control-Allow-Origin' header is present on the requested resource. //CORS策略阻止,这个ajax请求被同源策略阻止了 //两个站点共享了xmlHttpRequest对象 //因为页面的XmlHttpRequest对象不可以共享,一旦共享,对方就可以拿到我们的responseHtml //同源策略是浏览器的安全策略 //协议,端口号,域名一致才是同源 //同源才可以共享,不同源任何信息都不能共享 //在我们此前所有的跳转和发送请求中,本质都是通过浏览器地址栏跳转来实现的,他们都没有安全问题 //为什么ajax不行,因为只有它发送请求依靠的是我们浏览器内置的XmlHttpRequest对象 //当我们A发送AJAX请求到B站点的时候,相当于我们两个站点共享了XmlHttpRequest对象 //两个站点就都可以获取彼此的response信息,用户的宝贵信息就泄露了 if (ajax.readyState === 4) { if (ajax.status === 200) { $("#myDiv").html(ajax.responseText); } else { alert(ajax.status); } } } ajax.open("GET","http://localhost:8081/Test/hello",true); ajax.send(); }); }); </script> <button οnclick="window.location.href='http://localhost:8081/Test/Test.html'">跳页面</button> <button id="AjaxTrans">ajax跨域请求</button> <div id="MyDiv"></div> </body> </html>
// 封装一个函数,通过这个函数就可以获取页面中的元素了 function JQuery(selector)//可能时#id或者.class这样的类选择器 { if(typeof selector === "string") { // 设计思路根据CSS语法 if (selector.charAt(0) === "#") { // 根据ID获取元素 //这个是全局对象,是根据我们的ID获取的dom对象 IE = document.getElementById(selector.substring(1)); //返回JQuery对象,这个有html方法 return new JQuery(); } } if(typeof selector === "function") { window.onload = selector; } //定义一个HTML方法 this.html = function(htmlStr) { IE.innerHTML = htmlStr; } //定义一个click函数代替onclick方法 this.click = function(fun) { IE.onclick = fun; } //下拉栏变化 this.change = function(fun) { IE.onchange = fun; } //由此可知 this.val = function(value) { if(value === undefined) { return IE.value; } else { IE.value = value; } } //定义一个静态方法用来发送AJAX请求 //JS中的静态方法也还是需要有这个对象的 //传递参数如下,1.传递的数据2.请求方法3.url地址4.是否异步执行 JQuery.ajax = function(JsonArgs) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (this.readyState === 4) { if (this.status === 200) { var JsonObj = JSON.parse(this.responseText); JsonArgs.success(JsonObj); } else { alert(this.status); } } } if(JsonArgs.type.toUpperCase() === "POST") { xhr.open("POST",JsonArgs.url,JsonArgs.async); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send(JsonArgs.data); } if(JsonArgs.type.toUpperCase() === "GET") { JsonArgs.type = "GET"; xhr.open("GET",JsonArgs.url+"?"+JsonArgs.data,JsonArgs.async); xhr.send(); } } } $ = JQuery; //执行这个的目的是为了让静态方法能生效 new JQuery();
// 封装一个函数,通过这个函数就可以获取页面中的元素了 function JQuery(selector)//可能时#id或者.class这样的类选择器 { if(typeof selector === "string") { // 设计思路根据CSS语法 if (selector.charAt(0) === "#") { // 根据ID获取元素 //这个是全局对象,是根据我们的ID获取的dom对象 IE = document.getElementById(selector.substring(1)); //返回JQuery对象,这个有html方法 return new JQuery(); } } if(typeof selector === "function") { window.onload = selector; } //定义一个HTML方法 this.html = function(htmlStr) { IE.innerHTML = htmlStr; } //定义一个click函数代替onclick方法 this.click = function(fun) { IE.onclick = fun; } //下拉栏变化 this.change = function(fun) { IE.onchange = fun; } //由此可知 this.val = function(value) { if(value === undefined) { return IE.value; } else { IE.value = value; } } //定义一个静态方法用来发送AJAX请求 //JS中的静态方法也还是需要有这个对象的 //传递参数如下,1.传递的数据2.请求方法3.url地址4.是否异步执行 JQuery.ajax = function(JsonArgs) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (this.readyState === 4) { if (this.status === 200) { var JsonObj = JSON.parse(this.responseText); JsonArgs.success(JsonObj); } else { alert(this.status); } } } if(JsonArgs.type.toUpperCase() === "POST") { xhr.open("POST",JsonArgs.url,JsonArgs.async); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xhr.send(JsonArgs.data); } if(JsonArgs.type.toUpperCase() === "GET") { JsonArgs.type = "GET"; xhr.open("GET",JsonArgs.url+"?"+JsonArgs.data,JsonArgs.async); xhr.send(); } } } $ = JQuery; //执行这个的目的是为了让静态方法能生效 new JQuery();
alert("我是B应用的文件");
alert("我是B应用的文件");
import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/hello") public class Hello extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().println("Halla Ajax"); } }
import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/hello") public class Hello extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().println("Halla Ajax"); } }
import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/reg") public class Test extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); PrintWriter out = response.getWriter(); out.println(username+password); } }
import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/reg") public class Test extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); PrintWriter out = response.getWriter(); out.println(username+password); } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎来到测试应用</h1> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>欢迎来到测试应用</h1> </body> </html>
原文地址:https://blog.csdn.net/2201_75960169/article/details/134465990
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_15525.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。