Chrome在调试AJAX时只显示调用堆栈中的库行
Chrome only shows Library lines in call stack when debuggin AJAX
我已经设置了"XHR断点"来中断"Any XHR"来查找,哪一行触发AJAX请求,但当我检查调用堆栈时,所有行都是Angular.js库行。这没有意义,因为这样我就找不到代码中哪一行触发了请求。我该怎么办?
更多信息:
如果这很重要,那么AJAX响应就是错误的,因为它请求一个不存在的URL
此外,当我黑框Angular时,断点不会触发。
您可以通过拦截$http.get
方法或用于发出请求的任何方法来找到引起请求的代码。
debugCall($http, "get"); // put this somewhere where it's only called once
function debugCall(object, methodName){
var originalMethod = object[methodName];
object[methodName] = function(){
debugger;
originalMethod.apply(this, arguments)
}
}
您还可以查看Angular调用堆栈,并尝试在其中获得提示。例如,在这个演示中,调用堆栈中的第一个函数被称为eventHandler
。
如果转到该调用帧并在控制台中运行event.target.outerHTML
,则会得到<button ng-click="doXhr()">Do XHR 2</button>
。这样您就可以很好地了解在哪里查找请求。
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 超过了async.detect最大调用堆栈大小
- 如何远程检查JavaScript应用程序的函数调用堆栈
- 超过了最大调用堆栈大小,循环无限
- 超过了最大调用堆栈大小.递归标签
- 日志:未捕获的范围错误:超过了最大调用堆栈大小
- 未捕获的范围错误:setTimeout()超过了最大调用堆栈大小
- JavaFX+WebView/Javascript:setTimeOut不起作用调用堆栈来自Java
- JavaScript继承:未捕获的范围错误:超过了最大调用堆栈大小
- 使用$cookies和$stateChangeStart检查sessionID是否超过了最大调用堆栈
- jQuery捕获"RangeError:超过了最大调用堆栈大小“;
- 设置这个.RangeError:超过了最大调用堆栈大小
- 收到“范围错误: 超出最大调用堆栈大小”错误
- 递归 - 测试最大堆栈大小时,调用堆栈无法弹出
- 轮询 ajax 函数超出调用堆栈
- Chrome RangeError:使用jQuery$.map时超过了最大调用堆栈大小
- 要求JS 2.1.9引起“;最大调用堆栈"使用Grunt时出错
- Chrome/jQuery未捕获范围错误:超过了最大调用堆栈大小(函数循环)
- 超过了最大调用堆栈大小-没有明显的递归
- 在 javascript 中使用函数堆栈调用非递归方法