我是调试JavaScript和AngularJS的新手。在以下代码段的几乎每一行中都有断点,但在Firefox调试器中找不到response变量或datacontent。调试器中有一个非常密集的变量嵌套结构。 我在Firefox调试器变量结构中的哪里查找以下代码中responsedatacontent的值?

该警报表明confirmStatus变量的值未更改其默认值,因此,即使后端服务调用生成了表明已将其触发的控制台日志,后端服务的调用也未填充该值。我想找出返回的内容和形式,以便更改下面的客户端代码。

这是我通过调试器运行的Javascript代码段:

$scope.$on('$viewContentLoaded', function() {
    var str1 = "/confirm-email?d=";
    var str2 = $routeParams.d;
    var res = str1.concat(str2);
    $http.post(res).then(function(response) {
        $scope.confirmStatus = response.data.content;
            });
    var str3 = "confirmStatus is: ";
    alert(str3.concat($scope.confirmStatus))

    alert("viewContentLoaded!")
});

最佳答案

我建议先使用调试器。这意味着:

  • 使用开发人员工具菜单或键盘快捷键打开调试器:https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Open_the_debugger
  • 选择要调试的文件,快捷键在mac上,然后键入.js文件的一部分以使其在调试器中打开。
  • 您现在应该会看到.js文件的源代码,并且可以在左侧导航栏中单击要停止的行,例如$ scope.confirmStatus = ....

  • 使用angular也有一个很好的技巧,您可以从控制台访问示波器。去做这个
  • 这次再次打开开发者工具到控制台而不是调试器
  • 右键单击由angular拥有的一些html附近的页面,然后选择“检查元素”。
  • 在控制台中:angular.element($ 0).scope(),您将可以访问该元素的 Controller 作用域。

  • 也就是说,您可能想尝试捕获http.post的错误处理程序。例如
    $http.post(res).then(function(response) {},
                         function(err) {});
    

    关于javascript - 如何在firefox调试器中找到此变量的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34602294/

    10-12 00:06
    查看更多