我的jsp
for (int i =0;i<bookings.size();i++){
%>
<table>
<tr>
<td rowspan="3" id="name" ><%=bookings.get(i).getname()%></td>
<td id="type"><%=bookings.get(i).gettype()%></td>
<td rowspan="3"><button type="button" onclick="cancelPost(this)">Cancel</button>
<p style="color:red;">confirm</p></td>
</tr>
<tr>
<td>
<span id="from"><%=bookings.get(i).from()%></span>
<span id="to"><%=bookings.get(i).to()%></span>
</td>
</tr>
<tr>
<td>SSN: <span id="Ssn"><%=bookings.get(i).getssn()%></span></td>
</tr>
我的js
function cancelPost(x){
var rowIndex = $(x).closest('table').index();
var type = $(x).closest('table').find("#type").text();
type = type.replace(/\s/g, '');
var from = $(x).closest('table').find("#from").text();
var to = $(x).closest('table').find("#to").text();
var Ssn = $(x).closest('table').find("#Ssn").text();
var name = $(x).closest('table').find("#name").text();
name = name.replace(/\s/g, '');
alert(rowIndex+";"+type+";"+from+";"+to+";"+Ssn+";"+name);
$.ajax({
url:"/deleteBookingServlet",
type:"post",
data:{
name:name,
Ssn: Ssn,
from: from,
to: to,
type:type
},
success:function(result,testStatus){
if(result=="true"){
alert("success");
}else{
alert("fail");
}
},
error:function(xhr,errorMessage,e){
alert(xhr.status);
}
});
}
警报窗口显示所有正确的信息,这意味着这些变量实际上未定义。然后我关闭警报窗口后卡住了。我的其他jsp文件中的类似ajax代码运行良好,但除此之外。我真的不知道为什么。请有人帮助我。
servlet中有一些错误,我在这里发布的ajax代码是正确的。