Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome仅在调试AJAX时在调用堆栈中显示库行_Javascript_Angularjs_Ajax_Google Chrome_Google Chrome Devtools - Fatal编程技术网

Javascript Chrome仅在调试AJAX时在调用堆栈中显示库行

Javascript Chrome仅在调试AJAX时在调用堆栈中显示库行,javascript,angularjs,ajax,google-chrome,google-chrome-devtools,Javascript,Angularjs,Ajax,Google Chrome,Google Chrome Devtools,我已经将“XHR断点”设置为在“Any XHR”上断开以查找,哪一行触发AJAX请求,但是当我检查调用堆栈时,所有的行都是Angular.js库行。这是没有意义的,因为这样我就找不到我的代码中哪一行触发了请求。我该怎么办 更多信息: 如果这很重要,AJAX响应是错误的,因为它请求一个不存在的URL。 另外,当我黑盒角度-断点不会触发 Angular不会立即发出Ajax请求。相反,它会将其排队,直到摘要完成 您可以通过拦截$http.get方法或任何用于发出请求的方法来查找导致请求的代码 debu

我已经将“XHR断点”设置为在“Any XHR”上断开以查找,哪一行触发AJAX请求,但是当我检查调用堆栈时,所有的行都是Angular.js库行。这是没有意义的,因为这样我就找不到我的代码中哪一行触发了请求。我该怎么办

更多信息:

如果这很重要,AJAX响应是错误的,因为它请求一个不存在的URL。

另外,当我黑盒角度-断点不会触发

Angular不会立即发出Ajax请求。相反,它会将其排队,直到摘要完成

您可以通过拦截
$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
,您将得到
Do XHR 2
。这会让您很好地了解在哪里查找请求。

Angular不会立即发出Ajax请求。相反,它会将其排队,直到摘要完成

您可以通过拦截
$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
,您将得到
Do XHR 2
。这会让您很好地了解在何处查找请求。

对Angular的工作原理有很好的了解。关于拦截$http方法,问题是我找不到它,这就是为什么我开始使用调试器寻找它。当然,我可以通读代码,只是想使用调试器使它更快。@naneri我不知道是什么阻止了你截取它。您只需在应用程序中的任何位置覆盖
$http.get
功能一次。完成后,无论在何处使用
$http.get
,它都会暂停。这对Angular的工作原理有很好的了解。关于拦截$http方法,问题是我找不到它,这就是为什么我开始使用调试器寻找它。当然,我可以通读代码,只是想使用调试器使它更快。@naneri我不知道是什么阻止了你截取它。您只需在应用程序中的任何位置覆盖
$http.get
功能一次。完成后,无论在何处使用
$http.get
,它都将暂停。