ajax RangeError:超出最大调用堆栈大小

时间:2019-03-22 04:22:25

标签: javascript html ajax jsp servlets

我的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代码也可以很好地工作,但是除了这一点。我真的不知道为什么有人可以帮我吗。

1 个答案:

答案 0 :(得分:0)

servlet中出了点问题,我在这里发布的ajax代码是正确的。