错误现象
今天一学生给实现注册功能的时候一直报jquery的堆栈问题
错误代码
Uncaught RangeError: Maximum call stack size exceeded 未捕获范围错误:最大调用堆栈大小超过
错误伪代码演示
<form>
<input type="text" name="uname">
<input type="button" onclick="addAdmin()" value="注册">
</form>
<script>
function addAdmin(){
var uname = $.trim($("#uname").val())
$.post("add",{op:"add",uname: name},function(data){ //此处错误 uname: name
//逻辑省略
})
}
</script>
错误位置
请注意:uname: name
错误原因
利用JQuery 发送ajax请求的时候,传递的参数的值 使用的是未定义的变量 导致报错
正确代码
uname:uname
第一个参数 uname 是键 可以自定义 但一般习惯和数据库字段名一致 后台通过请求中获取参数
第二个参数 name 是键对应的值,一般是从文本中获取的值,并 存储在定义的变量中
此时我们存储在uname中 而传输的时候使用的变量name是未定义的
故出现 最大调用堆栈大小超过