【发布时间】:2019-03-28 07:36:54
【问题描述】:
我的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 代码运行良好,但除了这个。我真的不知道为什么。有人可以帮我吗。
【问题讨论】:
-
错误提示某处出现无限循环!
-
@MICKY,如果相同的代码在其他 jsps 中工作,那么问题可能出在 servlet 代码中。将您的
/deleteBookingServletservlet 代码添加到问题中。 -
对您的 js 代码的一个建议,而不是多次调用
$(x).closest('table')为其分配一个变量并使用该变量来获取元素值。它将帮助您减少对各个表对象的迭代次数查找。例如:var tbl = $(x).closest('table'); var from = tbl.find("#from").text(); ....
标签: javascript html ajax jsp servlets