gpt4 book ai didi

java - XMLHttpRequest 请求有什么问题?

转载 作者:行者123 更新时间:2023-12-01 19:17:33 24 4
gpt4 key购买 nike

我正在使用 XMLHttpRequest 创建一个简单的表单提交并从 servlet 获取 session 变量。但似乎没有任何作用。有人可以指出我哪里出错了吗?

这是表格

<form method="post" target="_self" action="/temp/Welcome.html">
<table>
<tr>
<td>Email</td>
<td><input type="text" id="email" name="email" value="a@a.com"></td>
</tr>
<tr>
<td>Project ID</td>
<td><input type="text" id="projectid" name="projectid" value="1111"></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="button" id="submitbutton" value="Submit" onclick="submitLogin()"></td>
</tr>
</table>
</form>

这是submitLogin函数

function submitLogin()
{
var url_action="/temp/Login";
var client;
var dataString;
if (client.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari
client=new XMLHttpRequest();
} else { // IE6, IE5
client=new ActiveXObject("Microsoft.XMLHTTP");
}

client.onreadystatechange=function(){
alert(client.responseText);
if(client.readyState==4&&client.status==200)
{
alert(client.responseText);
}
else
alert("Error: return status code "+client.status+" "+client.statusText);
};
dataString="email="+document.getElementById("email").value;
client.open("POST",url_action,true);
client.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

client.send(dataString);
}

以及我在 Login.java servlet 中的 post 方法

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
response.setContentType("text/plain");

paramMap=request.getParameterMap();
if (paramMap == null)
throw new ServletException(
"getParameterMap returned null in: " + getClass().getName());

iterator=paramMap.entrySet().iterator();
//System.out.println(paramMap.size());
String str="";

while(iterator.hasNext())
{
Map.Entry me=(Map.Entry)iterator.next();
String[] arr=(String[])me.getValue();
emailId=arr[0];
//System.out.println(me.getKey()+" > "+emailId);

}
rand=new Random();
randomInt=rand.nextInt(1000000);
emailId=randomInt+emailId;
System.out.println(emailId);
out.println(emailId);

/*creates a new session if a session does not exist already*/
session=request.getSession();
session.setAttribute("uid", emailId);

out.close();
}

没有任何警报和 System.out 似乎显示任何响应。请指导我。谢谢

注意:在 IE 8 中,它显示 xmlhttprequest 为 null 或不是对象,login.js 位于第 9 行

最佳答案

看起来您的 Java 脚本中有一个简单的拼写错误

var client; 

if (client.XMLHttpRequest){
client=new XMLHttpRequest();
} else {
client=new ActiveXObject("Microsoft.XMLHTTP");
}

您正在声明一些名为 client 的变量,并要求它提供 XMLHttpRequest 成员。您可能打算使用 window.XMLHttpRequest。

关于java - XMLHttpRequest 请求有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5932980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com