Java Div标签不';没有任何结果
在我的代码中,在使用AJAX调用向JSP页面发送请求后,它不会在Java Div标签不';没有任何结果,java,javascript,ajax,jsp,Java,Javascript,Ajax,Jsp,在我的代码中,在使用AJAX调用向JSP页面发送请求后,它不会在标记中显示结果。我的标记的Id是“div1”。控件被传递到JSP页面。处理JSP页面后,responseText中的值不会显示在标记中。我不明白原因。我在此附上代码。。。我还可以向“new.jsp”文件上的标记添加事件吗 无标题文件 尝试 { 函数创建(str) { var xmlHttp xmlHttp=CreateXmlHttpObject() if(xmlHttp==null) { 警报(“浏览器不支持HTTP请求”) 返
标记中显示结果。我的
标记的Id是“div1”。控件被传递到JSP页面。处理JSP页面后,responseText
中的值不会显示在
标记中。我不明白原因。我在此附上代码。。。我还可以向“new.jsp”文件上的标记添加事件吗
无标题文件
尝试
{
函数创建(str)
{
var xmlHttp
xmlHttp=CreateXmlHttpObject()
if(xmlHttp==null)
{
警报(“浏览器不支持HTTP请求”)
返回
}
var url=“new.jsp”
url=url+“?dbname=“+str”
url=url+“&sid=“+Math.random()
//打印输出(url)
xmlHttp.onreadystatechange=stateChanged
open(“GET”,url,true)
xmlHttp.send()
}
函数stateChanged()
{
if(xmlHttp.readyState==4 | | xmlHttp.readyState==complete)
{
document.getElementById(“div1”).innerHTML=xmlHttp.responseText
}
}
函数CreateXmlHttpObject()
{
var objXMLHttp=null
if(window.XMLHttpRequest)
{
objXMLHttp=newxmlhttprequest()
}
else if(window.ActiveXObject)
{
objXMLHttp=新的ActiveXObject(“Microsoft.XMLHTTP”)
}
返回objXMLHttp
}
}
捕捉(错误)
{}
数据库
数据库名称
ffff
new.jsp
<%--
Document : new
Created on : Nov 11, 2014, 12:41:34 PM
Author : user
--%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="querywork.DBConnection"%>
<%@page import="javax.faces.component.behavior.AjaxBehavior"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
try {
String responseText = new String("");
boolean flg = false;
String OptionValue = (String) request.getParameter("dbname");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/", "root", "");
PreparedStatement ps = conn.prepareStatement("create database " + OptionValue);
int k = ps.executeUpdate();
if (k > 0) {
flg = true;
} else {
flg = false;
}
responseText += OptionValue;
} catch (Exception e) {
out.print(e);
}
%>
0) {
flg=真;
}否则{
flg=假;
}
responseText+=选项值;
}捕获(例外e){
打印(e);
}
%>
这些是我发现的问题:
问题1
您正在创建一个responseText
字符串,但没有将其写入输出流,因此它不会出现在发送回客户端的响应中
在块的末尾(在new.jsp
中),在执行
responseText += OptionValue;
您需要添加
out.print(responseText);
问题2
您的按钮类型为submit
,因此它会提交表单。这意味着调用AJAX请求后,页面将立即重新加载。将returnfalse
添加到onclick
处理程序中,如下所示:
<input type="submit" name="Submit" value="CREATE"
onclick="create(textfield.value); return false;"/>
问题3
您需要在create
方法之外声明var xmlHttp
。现在,你的stateChanged()
方法无法访问你的xmlHttp
变量。控制台显示了什么?控制台没有显示任何已添加的结果。在try块末尾打印(responseText)。但它不起作用:(我对web应用程序不熟悉,所以我不理解这个问题。你能用一个例子解释我吗?
<input type="submit" name="Submit" value="CREATE"
onclick="create(textfield.value); return false;"/>
<input type="button" name="Submit" value="CREATE"
onclick="create(textfield.value)"/>