Java模拟HTTP请求如何获取请求页面中ajax方法的返回值

我有一个AAA.JSP页面是通过加载百度的地图API的JS文件,再调用其中的ajax请求方法获取地理坐标。地理坐标在该ajax方法的返回参数中的。我现在需要在服务器端获取地理位置信息,因此我通过java程序模拟HTTP请求,去访问AAA.JSP,但因为ajax是异步的,模拟程序访问该页面的时候,其中的ajax方法还没执行结束,服务器就返回了该页面的静态HTML内容,导致我无法获取地理位置信息。请问如何让服务器端在ajax执行完毕之后再返回呢?或者有什么其他的方案能解决这个需求呢。

1个回答

参考以下帖子,试试

http://bbs.csdn.net/topics/380244653

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ajax怎么获取返回值的方法啊?

$.ajax({ type:"Post", url: "AjaxServerInfo.aspx", data:'token=checkLink&sername='+$("#txtsername").val(), success: function (data) { return data; } }); 怎么返回,data的值?点解,无法返回,求科普~

ajax获取返回值问题

有没有人知道为什么div不会变... 代码如下 a.html <html> <body> <script language="JavaScript"> var req = null; function test() { //初始化 var code = document.all.code.value; var name = document.all.name.value; //req = new ActiveXObject("Microsoft.XMLHTTP"); if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } //发出请求 req.open("GET", "b.jsp?code=" + code + "&name=" + name, "false"); //设置属性,当后台处理完成后,回来调用myDeal方法。 req.onreadystatechange = myDeal(); req.send(null); } function myDeal() { if (req.readyState == 4) { //接收服务端返回的数据 var ret = req.responseText; //处理数据 document.all("myDiv").innerHTML = ret; } } </script> 用户注册: <br> 用户编号: <input type="text" name="code" onblur=""> * <div id="myDiv" name="myDiv"></div> <br> 用户名称: <input type="text" name="name"> <br> <input type="button" value="注册" onclick="test();"> </body> </html> b.jsp <%@ page contentType="text/html;charset=UTF-8" language="java"%> <% //接收参数 String code = request.getParameter("code"); String name = request.getParameter("name"); //控制台输出表单数据看看 System.out.println("code=" + code + ",name=" + name); //检查code的合法性 if (code == null || code.trim().length() == 0) { out.println("code can't be null or empty"); } else if (code != null && code.equals("admin")) { out.println("code can't be admin"); } else { out.println("OK"); } %>

如何获取某个页面的ajax请求url

请求一个页面例如:www.csdn.net之后,这个页面内还有会一些ajax请求,我是想获取这些**ajax请求的地址**,请求如何才能办到,用什么方法呢? 截图如下: ![页面ajax请求](https://img-ask.csdn.net/upload/201706/02/1496391330_793838.png)

jsp 页面怎么通过按钮提交POST请求,并获取返回值。

我用过ajax,jquery,提交请求可以,但是返回值获取不到,提示跨域请求的问题。直接放弃,因为我是接口请求。 index.jsp <%@ page language="java" import="java.util.*" %> <%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> <%@ page import="WEB_API.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head header("Access-Control-Allow-Methods:GET,POST");> <base href="<%=basePath%>"> <title>中文显示示例</title> <meta http-equiv="Access-Control-Allow-Origin" content="http://eucpwx.mb345.com:443"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <% WEB_API wa=new WEB_API(); String res=wa.sendPost("17761280053", "验证码是123"); System.out.println(res); %> <script type="text/JavaScript" src="js/jquery-3.0.0.min.js" ></script> <script type="text/javascript"> function dianji(){ $.post("http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=", function(data){ alert("Data Loaded: " + data); }); } </script> </head> <body>中文显示示例 <br> <input id="test" type="text" value="jquery"/> <input id="btn" type="button" onclick="dianji()" value="单击弹窗"/> </body> </html> WEB_API.java package WEB_API; import java.awt.EventQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON.*; public class WEB_API{ private static Connection con = null; public static void main(String[] args) { } public WEB_API(){ } public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName="; try { URL realUrl = new URL(strUrl); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(strparam); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504780002_204864.png)

如何使用AJAX调用PHP函数,并获取返回值?

<div class="post-text" itemprop="text"> <p>I want to call a specific function from my <code>database.php</code> file, and get the returned value. Here I am trying to do this:</p> <p>js:</p> <pre><code>function submit_verification_code(){ $.ajax({ url: "database.php", type: "post", data: ({ 'code': code_entered, }), dataType:"text", context: this, success : function(response) { console.log('RESPONSE: ' + response); //OPTIONAL_FUNCTION_TO_DO_SOMETHING_WITH_THE_RESPONSE(response); }, error: function(jqXHR,textStatus,errorThrown){ //OPTIONAL_FUNCTION_TO_DO_SOMETHING_WITH_THE_ERROR(jqXHR); console.log(errorThrown); } }); } </code></pre> <p>database.php</p> <pre><code> if(isset($_POST['code'])){ does_code_match($_POST['code']); } function does_code_match($code){ connect(); die('test'); $sql = 'select * from emailstobeverified where email='; $sql .= "'" . $_SESSION['email'] . "'"; $sql .= ' and verification_code='; $sql .= $code; $sql .= ';'; $count = query($sql)-&gt;num_rows; die(strval($count)); disconnect(); echo strval($count); exit; //Once you've outputted, make sure nothing else happens } </code></pre> <p><code>does_code_match</code> function executes, and the console log prints <code>&lt;br /&gt;</code> when <code>console.log("RESPONSE" + response)</code> is called. But I want it to print the value of <code>$count</code></p> <p>EDIT:</p> <p>There is a problem with <code>connect()</code> function. If I call <code>die('test')</code> just before calling <code>connect()</code>, it returns a response! It says "hello world" in the console. If I call it directly AFTER calling <code>connect()</code>, it prints this:</p> <pre><code>&lt;b&gt;Warning&lt;/b&gt;: Use of undefined constant conn - assumed 'conn' (this will throw an Error in a future version of PHP) in &lt;b&gt;C:\xampp2\htdocs\database.php&lt;/b&gt; on line &lt;b&gt;72&lt;/b&gt;&lt;br /&gt; &lt;br /&gt; &lt;b&gt;Warning&lt;/b&gt;: Use of undefined constant dbhost - assumed 'dbhost' (this will throw an Error in a future version of PHP) in &lt;b&gt;C:\xampp2\htdocs\database.php&lt;/b&gt; on line &lt;b&gt;72&lt;/b&gt;&lt;br /&gt; &lt;br /&gt; &lt;b&gt;Warning&lt;/b&gt;: Use of undefined constant dbuser - assumed 'dbuser' (this will throw an Error in a future version of PHP) in &lt;b&gt;C:\xampp2\htdocs\database.php&lt;/b&gt; on line &lt;b&gt;72&lt;/b&gt;&lt;br /&gt; &lt;br /&gt; &lt;b&gt;Warning&lt;/b&gt;: Use of undefined constant dbpass - assumed 'dbpass' (this will throw an Error in a future version of PHP) in &lt;b&gt;C:\xampp2\htdocs\database.php&lt;/b&gt; on line &lt;b&gt;72&lt;/b&gt;&lt;br /&gt; &lt;br /&gt; &lt;b&gt;Warning&lt;/b&gt;: Use of undefined constant db - assumed 'db' (this will throw an Error in a future version of PHP) in &lt;b&gt;C:\xampp2\htdocs\database.php&lt;/b&gt; on line &lt;b&gt;72&lt;/b&gt;&lt;br /&gt; test </code></pre> <p>and the response is <code>&lt;br /&gt;</code></p> <p>Connect function:</p> <pre><code> $dbhost = "localhost"; $dbuser = "root"; $dbpass = ""; $db = "example"; $conn; function connect(){ $GLOBALS[conn] = new mysqli($GLOBALS[dbhost], $GLOBALS[dbuser], $GLOBALS[dbpass],$GLOBALS[db]) or die("Connect failed: %s ". $GLOBALS[conn] -&gt; error); } </code></pre> </div>

HttpUrlConnection模拟ajax请求

最近遇到一个问题,有请各位大虾帮个忙,解答一下,问题如下: 对方系统提供了一个api,我通过ajax请求json数据类型能请求到,但是通过httpUrlConnection就call不到结果,并且已经设置了Content-Encoding和Content-Type,最后readline读出来始终是空,求解决方案,是不是漏设了什么属性? 原始http请求头信息如下: Cache-Control no-cache Connection keep-alive Content-Encoding gzip Content-Length 858 Content-Type application/json;charset=UTF-8 Date Tue, 16 Aug 2016 07:18:45 GMT Expires Wed, 31 Dec 1969 23:59:59 GMT Pragma No-cache Server nginx/1.10.1 access-control-allow-head... Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With access-control-allow-orig... * renderer webkit viewport width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0 user-scalable=no 原始头信息 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding gzip, deflate Accept-Language zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Connection keep-alive Host 210.73.192.83 Upgrade-Insecure-Requests 1 User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0 java代码如下: URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // optional default is GET con.setRequestMethod("GET"); //add request header con.setRequestProperty("User-Agent", USER_AGENT); con.setRequestProperty("Content-Encoding", "gzip"); con.setRequestProperty("Content-Type", "application/json"); int responseCode = con.getResponseCode(); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); Map<String, List<String>> header = con.getHeaderFields(); for (Map.Entry<String, List<String>> entry : header.entrySet()) { String key = entry.getKey() != null ? entry.getKey() + ":" : ""; System.out.println(key + entry.getValue()); } while ((inputLine = in.readLine()) != null) { response.append(inputLine); }

ajax的返回值输出了当前页面的源码是什么原因?

function userTest(){ $.ajax({ type: "post", url: "getStatistics.jspx?branch=storage", success: function(msg){ alert(msg); } }); } 以上ajax请求alert出来的是我当前页面的源代码 而不是服务器发送的数据,为什么啊 服务端没有异常抛出~

jquery ajax请求多个返回值?

<div class="post-text" itemprop="text"> <p>I followed the tutorial from this page:</p> <p><a href="http://www.keyboardninja.eu/webdevelopment/jquery-ajax-call-tutorial" rel="nofollow">http://www.keyboardninja.eu/webdevelopment/jquery-ajax-call-tutorial</a></p> <p>and already got the random number output. But how can I change the function (and the php file?), that I get multiple returns ("msg" in the example), to fill different divs? Or is that not possible, so I gotta fill the containing div with the stuff and put a whole lot of code into the echo part in the php file?</p> <p>Thanks</p> </div>

jsp页面通过$.ajax请求java后台,但是页面跳转了

js代码: ``` function sendForm() { alert("12345"), $.ajax({ type : "get", url : "code/checkcode", data : { "codeNum" : $("#codeNum") }, dataType : "json", success : function(data) { alert("123"); }, error : function(data) { alert(data); } }); } ``` java代码: ``` @RequestMapping(value = "checkcode", method = RequestMethod.GET) @ResponseBody public Map<String, Object> checkCode(Code code, HttpServletResponse resp) { resp.addHeader("Content-Type", "application/json"); Map<String, Object> map = codeService.checkCode(code.getCodeNum()); return map; } ```

怎么才能得到ajax返回值 运用到其他js方法当中?

今天想把ajax的返回值运行到其他的js当中,弄了好久都没有结果?求解决方法啊?[code="java"] var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { xmlHttp = new XMLHttpRequest(); } } function sendServer() { var keyword = document.getElementById("test1").value; createXMLHttpRequest(); xmlHttp.open("GET",'ajax.php?keyword='+keyword,true); xmlHttp.onreadystatechange = callback; xmlHttp.send(); } function callback(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ var friendsData = xmlHttp.responseText; alert(friendsData); } else { alert(xmlHttp.status); } } } (function(){ var friendsData = [ {user:"FLY100",name:"\u9646\u7ef4\u6881"}, {user:"G_9o_Karr",name:"\u4e01\u6208"}, {user:"LV5203344",name:"\u8463\u52c7"}, {user:"VIVI520007",name:"\u8587\u8587"}, {user:"WDQ826343036",name:"\u5434\u4e1c\u5f3a"}, {user:"ZZ-20100912",name:"\u5218\u73cd"}, {user:"aa394378840",name:"\u9c81\u5229"}, {user:"airiafans",name:"\u7231RIA\u96c6\u7ed3\u53f7"}, {user:"alilya",name:"\u9875\u9762\u59b9_\u9648\u601d\u5e06"}, {user:"amity1985",name:"\u7231\u5fb7\u57fa\u91d1\u4f1a"}, {user:"aoi_sola",name:"\u82cd\u4e95\u8001\u5e08"}, {user:"austinjin",name:"AustinGeek"}, {user:"bang",name:"bang"}, {user:"beebuzz",name:"beebuzz"}, {user:"bobo_js",name:"\u8349\u4f9d\u5c71"}, {user:"by727938837",name:"\u5348\u591c\u60c5\u6bd2"}, {user:"cailiangyu",name:"\u5305\u5b50"}, {user:"mg345732481",name:"\u5218\u68a6\u9f99"} ];[/code]

如何获取ajax的返回值

jsp页面 <input type="text" name="num" id="nums"/> js $.ajax({ type:"post", url:"randonu", data:"randonu", async:false,//是否异步 success:function(data){ alert(data); } }); action private String num; private boolean check; if(num.equals("123")){ check=true; }else{ check=false; } 请问如何才能够获取到check的在jsp页面上进行判断是true还是false

JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值

JSP菜鸟一枚,请教如何实现在JSP页面点击button 按钮提交POST请求,并获取返回值,问题很困扰。 因为之前不太了解框架和技术,之前用过ajax、jquery,请求成功,但是返回值取不出来,因为跨域请求安全问题。准备用servlet,但是servlet需要在服务端做修改,显然不适合,我是接口调用。请问大家有什么好的方法,实现JSP页面按钮提交求情获取返回值,最好能给一段代码示例。 Index.jsp <%@ page language="java" import="java.util.*" %> <%@ page pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> <%@ page import="WEB_API.*"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head header("Access-Control-Allow-Methods:GET,POST");> <base href="<%=basePath%>"> <title>中文显示示例</title> <meta http-equiv="Access-Control-Allow-Origin" content="http://eucpwx.mb345.com:443"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <% WEB_API wa=new WEB_API(); String res=wa.sendPost("17761280053", "验证码是123"); System.out.println(res); %> <script type="text/JavaScript" src="js/jquery-3.0.0.min.js" ></script> <script type="text/javascript"> function dianji(){ $.post("http://eucpwx.mb345.com:443/AppApi/User/GetUserList?UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName=", function(data){ alert("Data Loaded: " + data); }); } </script> </head> <body>中文显示示例 <br> <input id="test" type="text" value="jquery"/> <input id="btn" type="button" onclick="dianji()" value="单击弹窗"/> </body> </html> WEB_API.java package WEB_API; import java.awt.EventQueue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON.*; public class WEB_API{ private static Connection con = null; public static void main(String[] args) { } public WEB_API(){ } public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=1&Other=&SearchUserName="; try { URL realUrl = new URL(strUrl); URLConnection conn = realUrl.openConnection(); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(strparam); out.flush(); in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); e.printStackTrace(); } finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } 火狐浏览器显示: ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504778539_257069.png)

用javascript监听第三方页面上的所有ajax请求

1 1 集成了另外一个web程序,我们把那个web程序放在我们提供的iframe里。那个web程序只有在第一次初始化的时候是一个普通的HTTP请求,之后在页面上的操作,都是通过ajax来操作的。现在我们有个需求,我们需要知道iframe里面做了什么操作。 没法改别人的代码,那我们只能监测里面的事件了,所以总归来说,要找到一种方法来检测到iframe里面的所有ajax请求。 下面是我的请求 发现无法执行 ajaxsend 求改进下 能监听到 子页面得ajax 请求 ``` <iframe id='mainIframe' name='mainIframe' src="https://mobile.peilian.com/promotion_f2?utm_source=szjs&utm_medium=cpa&utm_campaign=time0306&utm_term=&utm_content=" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" width="1500" height="900" allowfullscreen="true" ></iframe> <!--onload="ajaxSend(this.contentWindow.XMLHttpRequest, onAjaxSend);"--> <div></div> <script> iframe_add_loadevent(); function iframe_add_loadevent() { var my_frame =document.getElementById('mainIframe'); alert(1); if(my_frame){ alert(2); if(my_frame.attachEvent){ //ie alert(3); my_frame.onreadystatechange=function () { if (this.readState == 'complete') { ajaxSend(this.contentWindow.XMLHttpRequest, onAjaxSend); } }; } else{ //other alert(4); my_frame.onload = function () { alert(5); ajaxSend(this.contentWindow.XMLHttpRequest, onAjaxSend); }; } } // if(my_frame){ // my_frame.onload = function () { // ajaxSend(this.contentWindow.XMLHttpRequest, onAjaxSend); // } // } } function ajaxSend(objectOfXMLHttpRequest, callback) { alert(10); // http://stackoverflow.com/questions/3596583/javascript-detect-an-ajax-event if(!callback){ return; } var s_ajaxListener = new Object(); s_ajaxListener.tempOpen = objectOfXMLHttpRequest.prototype.open; s_ajaxListener.tempSend = objectOfXMLHttpRequest.prototype.send; s_ajaxListener.callback = function () { // this.method :the ajax method used // this.url :the url of the requested script (including query string, if any) (urlencoded) // this.data :the data sent, if any ex: foo=bar&a=b (urlencoded) alert(2); alert(this.method); callback(this.method, this.url, this.data); } objectOfXMLHttpRequest.prototype.open = function(a,b) { if (!a) var a=''; if (!b) var b=''; s_ajaxListener.tempOpen.apply(this, arguments); s_ajaxListener.method = a; s_ajaxListener.url = b; if (a.toLowerCase() == 'get') { s_ajaxListener.data = b.split('?'); s_ajaxListener.data = s_ajaxListener.data[1]; } } objectOfXMLHttpRequest.prototype.send = function(a,b) { if (!a) var a=''; if (!b) var b=''; s_ajaxListener.tempSend.apply(this, arguments); if(s_ajaxListener.method.toLowerCase() == 'post') { s_ajaxListener.data = a; } s_ajaxListener.callback(); } } function onAjaxSend(method, url, data) { alert('ajax'); console.log("method"+method); console.log(url); console.log(data); } </script> ``` 参考地址:https://blog.csdn.net/yanical/article/details/7213289

servlet该如何返回值给AJAX呢?

js代码 //声明XMLHttpRequest对象 var xmlrequest; //初始化XMLHttpRequest function createXMLHttpRequest(){ if(window.XMLHttpRequest){ xmlrequest = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlrequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlrequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } } //定义回调函数 function processResponse(){ //响应完成 if(xmlrequest.readyState == 4){ //响应正常 if(xmlrequest.status == 200){ var head = xmlrequest.responseText; alert(head); } } } //事件处理函数 function change(){ //初始化XMLHttpRequest对象 createXMLHttpRequest(); //设置请求的URI var uri = "servlet/LoginServlet"; //打开与服务器响应地址的连接 xmlrequest.open("POST", uri, true); //设置请求头 xmlrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //设置处理响应的回调函数 xmlrequest.onreadystatechange = processResponse; var account = document.form.account.value; var password = document.form.password.value; //发送请求 xmlrequest.send("account=" + account + "&password=" + password); } servlet代码 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post被触发了"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String account = request.getParameter("account"); String password = request.getParameter("password"); System.out.println(account); System.out.println(password); PrintWriter out = response.getWriter(); out.print("124578"); } 配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>shangGou</display-name> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern> </servlet-mapping> </web-app> 请求页面:![图片说明](https://img-ask.csdn.net/upload/201505/28/1432751963_284806.gif) 响应后的页面:![图片说明](https://img-ask.csdn.net/upload/201505/28/1432751982_544755.gif) 请大神帮我解答解答,AJAX向服务器发送请求后,servlet要如何响应页面才不会刷新呢?

jsp 按钮提交POST请求,获取返回值

怎样实现JSP页面按钮触发 ,提交post请求,ajax、jquery试过,请求成功,但是返回值不到。 ![图片说明](https://img-ask.csdn.net/upload/201709/07/1504780438_562877.png)

关于ajax取返回值的问题

最近在学习ajax的运用,遇到了一个问题。 之前用ajax往后台传值并取回后台的返回值,运行起来没有问题。之后我想在前端假如一个提示框,数据改为<from>表单传递,然后再想用ajax取返回值就不能实现提示信息(“密码修改成功”和“账号与原密码不匹配,请重新输入!”)了。代码如下 ``` <head> <script> function validateForm(){ var x=document.forms["myForm"]["Username"].value; var p=document.forms["myForm"]["Password"].value; var c=document.forms["myForm"]["ChangePass"].value; var a=document.forms["myForm"]["NewPass"].value; if (x==null || x==""){ alert("姓必须填写!"); return false; } if (p==null || p==""){ alert("密码必须写!"); return false; } if (c==null || c==""){ alert("重置密码必须写!"); return false; } if (a==null || a==""){ alert("确认密码必须写!"); return false; } if (c != a){ alert("确认密码与重置密码不一致!"); return false; } $.ajax({ async:false, success:function(data){ if(data == 1){ alert("密码修改成功!"); }else if(data == 0){ alert("账号与原密码不匹配,请重新输入!"); } }, error : function() { alert("网络故障!"); } }); } </script> </head> <body> <form name="myForm" action="ChangeServlet" onsubmit="return validateForm()" method="post"> <table> <tr> <th>姓名: </th> <td><input type="text" name="Username"></td> </tr> <tr> <th>密码: </th> <td><input type="password" name="Password"></td> </tr> <tr> <th>修改密码:</th> <td><input type="password" name="ChangePass"></td> </tr> <tr> <th>确认密码:</th> <td><input type="password" name="NewPass"></td> </tr> <tr> <td><input type="submit" value="提交"></td> </tr> </table> </form> ``` 后台部分代码传递返回值的代码为 ``` PrintWriter out = response.getWriter(); String sql = "select * from LoginUser where UserName = '"+username+"' and LoginPwd = '"+pasword+"'"; PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); if(rs.next()){ String isExit = "update LoginUser set LoginPwd = ? where UserName = '"+username+"'"; PreparedStatement ps2 = conn.prepareStatement(isExit); ps2.setString(1,changepass); ps2.executeUpdate(); ps2.close(); conn.close(); out.println("1"); }else{ out.println("0"); } ``` 之前也试过用ajax传值,但是用ajax传值最开始的判断提示框不能显示(“密码必须写”等等)想问问应该怎么改?

使用前后端分离开发,应该直接由页面请求Ajax到后端接口,还是走前端路由请求再返回渲染页面?

使用nodejs express搭建了前端服务器,但不会用nodejs的模板引擎。 此前一直使用的是springmvc直接返回至session或model,再由thyme leaf渲染页面。 所以想请问各位: > + 我是应该直接在页面发送ajax请求至后端Java接口,然后页面处理显示,还是说,先由页面发送请求至express,在nodejs路由里发送请求至后端Java接口,获取数据并处理返回至页面或直接渲染页面? > + 另外想问此时后端有没有可能类似之前的处理方式,将数据夹在session中返回,nodejs里在route路由里获取,还是说Java后端只能返回JSON之类的。

如何把ajax返回值传入jsp代码里

代码如下: <div class="link"> <div class="search"> <input type="text" class="text" value="请输入关键字" id="txtSou" onfocus="inputValEasy(this)" /> <input type="submit" id="showinp" class="sub" value="" /> <div class="shid"> <ul class="shidul"> <!-- 返回值 --> </ul> </div> </div> ajax代码如下: function ReadFile(where) { $.ajax({ type: "GET", url: "Ajax/AjaxCommon.jsp?", data: "action=Sou&where=" + escape(where) + "&random=" + Math.random(), success: function(retdata) { alert("retdata1"); if (retdata != "nothing") { $(".link .search .shid .shidul").html(retdata); retdata1 = retdata; alert("retdata2"); alert(retdata); } } }) 我想把取到的retdata的值插到<ul>..</ul>里(retdata格式为<li>...</li>)

spring boot返回json数据,在html页面通过ajax异步请求取不到数据

1.这是我的controller ``` @RestController public class ComputeController { private final Logger logger = Logger.getLogger(getClass()); @RequestMapping(value = "/test", method = RequestMethod.GET) public List<String> test() { ServiceInstance instance = client.getLocalServiceInstance(); List<String> list = new ArrayList<>(); list.add("hello"); list.add("world"); logger.info("/test test" + instance.getHost() + ",service_id:" + instance.getServiceId() + ",result:" + list.toString()); return list; } ``` 2.这是我的html ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>INDEX</title> <script src="jquery-1.8.0.min.js"></script> <script> $(document).ready(function () { $("#btn").click(function () { alert("start"); $.get("http://localhost:4444/add?a=12&b=3", function (data) { $("div").html(data); }); alert("end"); }); }); </script> </head> <body> <h2>INDEX</h2> <button id="btn">ajax</button> <div id="div"></div> </body> </html> ``` 问题:alert("start")和alert("end")都会执行,ajax的回调函数不能执行。

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

立即提问
相关内容推荐