Javascript 从ajax调用获取值后,如何在if条件下打印成功语句? $(文档).ready(函数(){ $(“输入”).change(函数(){ var p1=$('#password1').val(); var p2=$('#password2').val(); var p3=$('#password3').val(); var p4=$('#password4').val(); $.post($)http://localhost../mycode.jsp', { 密码1:p1, pass2:p2, 密码3:p3, 密码4:p4, }, 功能(数据、状态){ console.log(数据) 警报(“状态:+状态”); }); }); });

Javascript 从ajax调用获取值后,如何在if条件下打印成功语句? $(文档).ready(函数(){ $(“输入”).change(函数(){ var p1=$('#password1').val(); var p2=$('#password2').val(); var p3=$('#password3').val(); var p4=$('#password4').val(); $.post($)http://localhost../mycode.jsp', { 密码1:p1, pass2:p2, 密码3:p3, 密码4:p4, }, 功能(数据、状态){ console.log(数据) 警报(“状态:+状态”); }); }); });,javascript,java,jquery,ajax,jsp,Javascript,Java,Jquery,Ajax,Jsp,这是我正在使用的基本代码。我想在用户表单数据异步发送到服务器并由服务器执行任务后执行操作。如何更新那些在运行时由用户设置其值的if条件值 我想在用户表单数据异步发送到服务器并由服务器执行任务后执行操作 假设我们坚持使用jQueryAjax,那么您要响应异步请求所做的任何事情都必须通过回调函数来完成 换言之: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> &l

这是我正在使用的基本代码。我想在用户表单数据异步发送到服务器并由服务器执行任务后执行操作。如何更新那些在运行时由用户设置其值的if条件值

我想在用户表单数据异步发送到服务器并由服务器执行任务后执行操作

假设我们坚持使用jQueryAjax,那么您要响应异步请求所做的任何事情都必须通过回调函数来完成

换言之:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>    
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("input").change(function(){
        var p1 = $('#password1').val();
        var p2 = $('#password2').val();
        var p3 = $('#password3').val();
        var p4 = $('#password4').val();

        $.post('http://localhost../mycode.jsp',
        {
            pass1 : p1,
            pass2 : p2,
            pass3 : p3,
            pass4 : p4,
        },
        function(data,status){
            console.log(data)
            alert("Status : "+ status);
        });
    });
});
</script>
</head>
<body>
<%
String pw1,pw2,pw3,pw4;
pw1 = "1";
pw2 = "2";
pw3 = "3";
pw4 = "4";
out.println("<div id='password' style=' display: block; position: absolute; left: 30%;'>");
out.println("<h1 style=' position: absolute; top: -120%; left: 18%; font-family: Titillium Web;'>PASSWORD</h1>");
out.println("<form method='POST'>");
out.println("&nbsp;&nbsp;&nbsp;&nbsp; <input type='number' id='password1' maxlength='1' max='9' style=' width: 1%; padding: 12px 12px; margin: 8px 0px; border: none; border-bottom: 2px solid red;'>");
out.println("&nbsp;&nbsp;&nbsp;&nbsp; <input type='number' id='password2' maxlength='1' max='9' style=' width: 1%; padding: 12px 12px; margin: 8px 0px; border: none; border-bottom: 2px solid red;'>");
out.println("&nbsp;&nbsp;&nbsp;&nbsp; <input type='number' id='password3' maxlength='1' max='9' style=' width: 1%; padding: 12px 12px; margin: 8px 0px; border: none; border-bottom: 2px solid red;'>");
out.println("&nbsp;&nbsp;&nbsp;&nbsp; <input type='number' id='password4' maxlength='1' max='9' style=' width: 1%; padding: 12px 12px; margin: 8px 0px; border: none; border-bottom: 2px solid red;'>");
out.println("</form>");
out.println("</div>");

String ele1 = request.getParameter("pass1");
String ele2 = request.getParameter("pass2");
String ele3 = request.getParameter("pass3");
String ele4 = request.getParameter("pass4");

if((pw1.equals(ele1)) && (pw2.equals(ele2)) &&(pw3.equals(ele3)) && (pw4.equals(ele4)))
     out.println("Code Successful!!");
else
    out.println("Code Failed.");
%>
</body>
</html>
这是您知道请求已完成的唯一位置,无论状态如何


您可以将
(如果
逻辑)移动到其中,或者另一个建议是将要执行的逻辑封装到另一个较小的函数中。然后从
$内部调用它。post
回调。

因此,我必须传递参数pw1,pw2。。。到回调函数?如何将pw的值传递给ajax函数?从您共享的代码来看,这些变量都在ajax回调函数的范围内。在这种情况下,你可以在函数体中引用它们。如果它们不在某种程度上,您应该能够使用闭包将它们放入回调的作用域中。我所说的变量pw1、pw2等是在标记的服务器端生成的,需要发送到ajax回调函数。我猜我需要将它作为成功函数的响应发送回去,但我不确定如何从jsp发送它并在ajax中接收它。啊,我完全错过了jsp引用。我的错。从我的驾驶室,但它看起来像默认jsp返回html写入页面?出于好奇,我找到了一些有助于向回调发送数据的引用:和
$.post('http://localhost../mycode.jsp',
// ... other arguments to ajax call
function(data,status){
// do stuff that requires waiting on async request HERE
});