Getting a Maximum call stack size exceeded error,但不确定原因
Getting a Maximum call stack size exceeded error and not exactly sure why
注意这是用于类分配我使用jQuery对API执行ajax调用。代码可以工作并吐出我想要的信息,但是,如果我在浏览器中挂起它一段时间后,我会得到这个错误jquery.js:8459 Uncaught RangeError: Maximum call stack size exceeded
。我想我可能有一个无限循环或其他什么东西,但无法确定它。其中包括我的脚本js和相关的index.html。我认为错误特别出现在getDoughnuts-ajax调用中,但我对此不持肯定态度。谢谢你的帮助。
Javascript文件
$(document).ready(function() {
$("form#new-doughnut").on('submit', postDoughnut);
getDoughnuts();
});
function getDoughnuts() {
$.ajax({
url: 'http://api.doughnuts.ga/doughnuts',
method: 'GET',
dataType: 'json'
})
.done(function(data, textStatus) {
console.log(data);
for (var i = 0; i < data.length; i++) {
addDoughnut(data[i]);
}
})
.fail(function(data, textStatus) {
console.log("ERROR getting doughtnuts. status: " + textStatus);
});
}
function postDoughnut(event) {
event.preventDefault();
var doughnut = {
style: $('form#new-doughnut select#doughnut-style').val(),
flavor: $('form#new-doughnut select#doughnut-flavor').val()
};
$.ajax({
url: 'http:api.doughnuts.ga/doughnuts',
method: 'post',
dataType: 'json',
data: event
})
.done(function(data, textStatus) {
addDoughnut(data);
})
.fail(function(data, textStatus) {
console.log("ERROR getting doughnuts. status: " + textStatus);
});
$('form#new-doughnut input#doughnut-flavor').val(null)
}
function addDoughnut(doughnut) {
$("ul#doughnuts").prepend("<li>" + doughnut.flavor + " - <em>" + doughnut.style + "</em></li>")
}
HTML文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>The Doughnut Shop</title>
<link rel="stylesheet" href="css/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<h1>Doughnut Shop</h1>
<form id="new-doughnut">
<input type="text" name='doughnut[flavor]' id="doughnut-flavor" placeholder="What type of doughnut?" value="Chocolate">
<select name="doughnut[style]" id="doughnut-style">
<option value="Old Fashioned">Old Fashioned</option>
<option value="Cake">Cake</option>
<option value="French Cruller">French Cruller</option>
<option value="Yeast">Yeast</option>
</select>
<input type="submit" value='Save My Doughnut'>
</form>
</body>
<ul id="doughnuts">
</ul>
<script src="js/script.js"></script>
问题是因为您将event
对象作为数据提供给了jQuery.ajax,这是一个循环结构,而jQuery无法处理循环数据对象。尝试链接以下行:
data: event
至:
data: doughnut
编辑:以下url的格式也不正确:
url: 'http:api.doughnuts.ga/doughnuts',
相关文章:
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- 不确定我在PHP AJAX中使用的是什么开发模式
- 传递数量不确定的可能嵌套的对象属性
- 不确定react.js的异步执行时间
- 使用JavaScript进行即时验证-不确定从哪里开始
- Javascript正则表达式失败,但不确定原因
- 如何在 html 和 javascript 中显示隐藏不确定的循环进度条
- 不确定如何标记 OnClick 事件
- Getting a Maximum call stack size exceeded error,但不确定原因
- 意外的令牌,但不确定原因
- onclick启动打开弹出窗口的javascript-不确定函数调用
- JQuery 选择子元素(如果不是直接在父元素下,则不确定是否可选)
- 不确定为什么使用$(this)的函数没有'不起作用
- 不确定touche.js是否就是这样工作的
- 我不确定我缺少什么才能使此应用程序在Websockets上在Google Cloud上正常工作
- 不确定如何调试以下内容:未捕获的语法错误:意外的令牌 [.
- 茉莉花的业力:期待不确定
- 我的输入字段听到除回车之外的每个“键下”事件.我有一个日期选择器,不确定发生了什么
- 不确定 AngularJS 单元测试中的错误