我在构建 Rest api 客户端时遇到一些错误.....我很新,所以请帮助我我得到的错误是:未捕获的范围错误:超出最大调用堆栈大小
<input name="commandurl" type="text" id="URL" size="60" value="">
<h2>Message Body:</h2>
<textarea name="messagebody" id="message" rows="10" cols="100"></textarea>
<h2>Command Response:</h2>
<textarea name="response" id="res" rows="25" cols="100"></textarea>
<div id="buttons">
<button type="button" onclick="GET()">GET</button>
<button type="button" onclick="">PUT</button>
<button type="button" onclick="">POST</button>
<button type="button" onclick="">DELETE</button>
</div>
</form></center>
<script language="JavaScript">
var URL = document.getElementById("#URL");
var message = document.getElementById("#message");
function GET(){
$.ajax({
type: 'get',
dataType: 'json',
url: URL,
data: message,
success: function(data){
alert("Succes");
$("#res").html(data);
}
}
});
}
</script>
最佳答案
正如 Albert 所说,当您使用 getElementById
时,不需要哈希值。 。所以:
document.getElementById('message');
如果您使用querySelector
,您将需要它这就是可能出现错误的地方。
但是您还需要获取 textarea
的 value
,否则您将传入 HTML 元素,这就是您收到错误的原因。
var message = document.getElementById('message').value;
此外,这是带有正确右括号的函数。
function GET() {
$.ajax({
type: 'get',
dataType: 'json',
url: URL,
data: message,
success: function(data) {
alert("Succes");
$("#res").html(data);
}
});
}
如果您正确缩进代码,将来此类问题将更容易识别。
关于javascript - jquery ajax错误未捕获RangeError : Maximum call stack size exceeded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330564/