Javascript 调用AJAX时我的函数进入无限循环?
从createNewTable函数(onclick)调用的send_数据函数。 我不明白为什么我的函数在action\u id==“new\u table\u btn”(action\u id它的指示符)时进入无限循环。请帮帮我 HTMLJavascript 调用AJAX时我的函数进入无限循环?,javascript,jquery,ajax,Javascript,Jquery,Ajax,从createNewTable函数(onclick)调用的send_数据函数。 我不明白为什么我的函数在action\u id==“new\u table\u btn”(action\u id它的指示符)时进入无限循环。请帮帮我 HTML <button type="submit" class="btn btn-default" onclick="createNewTable()">Send</button> 用type=“button”而不是type=“submit”
<button type="submit" class="btn btn-default" onclick="createNewTable()">Send</button>
用
type=“button”
而不是type=“submit”
尝试一下控制台上的错误是什么?未捕获范围错误:最大调用堆栈大小超出编辑看起来像是进入new\u table\u btn
中,一旦进入,是否检查它是否继续进入if(!read\u data)
-因为它可能正在调用新的\u round\u data()代码>如果它一直到达那里,它只会继续在一个圆圈中循环
function createNewTable()
{
_table_name = $("#table_name").val();
var data = "Indicator=new_table&table_name=" + _table_name + "&player_email=" + player_email;
send_data(data, "new_table_btn");
}
function send_data(j_data, action_id) {
var results;
//var k_data = [{aaaa:"solange"}];
$.ajax({
url: "SrvController",
dataType: 'json',
type: 'post',
//contentType: 'application/json',
data: j_data, // "Indicator=world_games&player_email=dana@mmm.com", //"aaaa=lllll&aaa=pppp",//JSON.stringify(k_data),
//processData: false,
success: function (data, textStatus, jQxhr) {
if (action_id === "join_table")
{
// turn_place =
if (data["status"] === "success")
{
player_place = data["sit"];
$("#playground").hide("slow", arguments.callee);
$("#startGame").show("slow");
if (!read_data)
{
new_round_data();
read_data = true;
}
}
else
$("#playground").append("fail");
}
if (action_id === "world_games")
{
read_activ_tables(data);
}
if (action_id === "new_round_data")
{
new_round(data);
}
if (action_id === "get_table_id")
{
_table_number = data["tableNumber"];
var data = "Indicator=join_table&table_id=" + _table_number + "&player_email=" + player_email;
send_data(data, "join_table");
}
if (action_id === "new_table_btn")
{
if (typeof data !== "undefined")
_table_number = data["tableId"];
player_place = "1";
$("#playground").hide("fast", arguments.callee);
$("#startGame").show("slow");
if (!read_data)
{
read_data = true;
new_round_data();
}
}
},
error: function (jqXhr, textStatus, errorThrown) {
console.log(errorThrown);
}
});
//results.innerHTML = "processing...";
}