Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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 ngStorage($localStorage)dosen';I don’我不在家工作_Javascript_Angularjs - Fatal编程技术网

Javascript ngStorage($localStorage)dosen';I don’我不在家工作

Javascript ngStorage($localStorage)dosen';I don’我不在家工作,javascript,angularjs,Javascript,Angularjs,我对这件事有意见。当我将我的工厂用于jQuery的$ajax时,我不能在中使用$localStorage 如果我在.then()外部使用$localStorage,它可以工作,但我必须将它放在内部 $scope.updateProfile = function () { $localStorage.currentUser.fullname = $scope.dataProfile.u_fullname; updateProfileFactory.init($sco

我对这件事有意见。当我将我的工厂用于jQuery的
$ajax
时,我不能在
中使用
$localStorage

如果我在
.then()外部使用
$localStorage
,它可以工作,但我必须将它放在内部

$scope.updateProfile = function () {        
    $localStorage.currentUser.fullname = $scope.dataProfile.u_fullname;
    updateProfileFactory.init($scope.dataProfile).then(
        function (data) {
            if (data.status == "success") {
                // code 
            }            
        }        
    )
}

问题出在哪里?

为什么不使用Angular的
$http
库来处理AJAX内容?混合使用jQuery和Angular会产生不可预测的结果

我可以看出您已经在应用程序中使用了Angular。所以你没有理由不完全按照这个角度去做。
$http
服务提供jQuery的
$.ajax
提供的所有功能以及更多功能

当您在普通Javascript或jQuery函数中使用Angular函数时,Angular不知道调用了这些函数,因为它们超出了它的范围。在这里,您可以使用Angular的
$apply
,但这并不理想,而且很粗糙


这里的问题可能是,
$.ajax
的回调函数不知道
$localStorage
,因为它不是作为依赖项传入的。

为什么不使用Angular的
$http
库来完成ajax的工作?混合使用jQuery和Angular会产生不可预测的结果

我可以看出您已经在应用程序中使用了Angular。所以你没有理由不完全按照这个角度去做。
$http
服务提供jQuery的
$.ajax
提供的所有功能以及更多功能

当您在普通Javascript或jQuery函数中使用Angular函数时,Angular不知道调用了这些函数,因为它们超出了它的范围。在这里,您可以使用Angular的
$apply
,但这并不理想,而且很粗糙


这里的问题可能是,
$的回调函数不知道
$localStorage
,因为它不是作为依赖项传入的。

请更努力地定义“它不工作”。您是否可以调试以查看是否调用了
then
函数?请更努力地定义“它不工作”。您是否可以调试以查看是否调用了
then
函数?我使用$.ajax,因为$http“POST”在标题和数据格式方面存在默认问题。这更容易。如果你能发布你遇到的问题,我们可以帮你解决。没有什么东西是
$http
做不到的。可以设置标题,您可以完全控制负载,我还有一个项目,其中使用$.ajax更快、更简单、更好。我的问题不是关于$.ajax和$http,所以你的answears没有帮助。
当你在普通Javascript或jQuery函数中使用Angular函数时,Angular不知道这些函数被调用了,因为它们不在它的范围之内。在这里,您可以使用Angular的$apply,但这并不理想,而且很粗糙。
我已经在这里解决了您的问题。我只是想为您指出正确的方向,这将在将来为您避免很多麻烦,因为我过去就在那里。抱歉,如果您觉得我使用了$.ajax,因为$http“POST”在标题和数据格式方面存在默认问题。这更容易。如果你能发布你遇到的问题,我们可以帮你解决。没有什么东西是
$http
做不到的。可以设置标题,您可以完全控制负载,我还有一个项目,其中使用$.ajax更快、更简单、更好。我的问题不是关于$.ajax和$http,所以你的answears没有帮助。
当你在普通Javascript或jQuery函数中使用Angular函数时,Angular不知道这些函数被调用了,因为它们不在它的范围之内。在这里,您可以使用Angular的$apply,但这并不理想,而且很粗糙。
我已经在这里解决了您的问题。我只是想为您指出正确的方向,这将在将来为您避免很多麻烦,因为我过去就在那里。如果你不这么想,我会道歉
$scope.updateProfile = function () {        
    $localStorage.currentUser.fullname = $scope.dataProfile.u_fullname;
    updateProfileFactory.init($scope.dataProfile).then(
        function (data) {
            if (data.status == "success") {
                // code 
            }            
        }        
    )
}