问题标签 [angularjs-http]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - $http 响应返回整个 index.html
我有site.com。每个请求都被重定向到这里(所以 'site.com/book'、'site.com/settings' ecc .. 指向 'site.com')然后我有site.com/api/其中 'site.com/api/ user', 'site.com/api/library/' ecc... 被重定向。
我正在尝试使用 AngularJS 的 $http 向site.com/api请求 JSON 对象。成功后,我收到状态 200,但响应是“site.com/index.html”的文本/html。
随请求发送的标头是: Accept: "application/json, text/plain, / " Content-Type: application/json;charset=utf-8
我尝试使用应用邮递员调试site.com/api/并且它按预期工作,因为我收到了正确的 JSON 对象。
我不知道这是否是某些 .htaccess 规则或 AngularJS 的 $routeProvider 的问题......(我在 'site.com' 中有一个 .htaccess 文件,在 'site.com/api' 中有另一个文件)。但我可能完全不在路上。也许有人可以帮忙?谢谢。
angularjs - Angularjs 在用服务中的承诺替换 Ajax 请求时出现问题
对于我在服务中的 Angularjs 应用程序,我使用 Ajax 调用来获取数据,如下所示:
然后我只是从我的服务返回(数据),在我的控制器中我可以毫无问题地获取数据。但我意识到这是一种不好的做法,并试图使用承诺。所以我将其替换如下:
但它不起作用。甚至没有任何参数被传递给我的动作类。我的语法有什么错误吗?
在我的动作类中,我将参数访问为
但它是空的。
angularjs - 更改现有的 $http 请求拦截器
在我的 Angular 应用程序中,我创建了一个名为“authInterceptor”的 $http 请求拦截器,如下所示:
它在 .config() 中注册:
如您所见,我的 Authorization 标头绑定到 Auth.user.token 值。当我的用户登录时,此值可用。
然后发送标头用于对我的 api 的任何调用。
我面临的问题是......当用户在我的角度应用程序中注销时,即使我已经删除了 Auth.user.token,授权标头仍在发送。
在对页面进行硬刷新时,授权标头会被完全删除。
当我的用户注销时,如何确保“authInterceptor”注册令牌值的更改?
jquery - 在 Angular 通过 $http 检索内容并将其添加到局部视图模板后操作 DOM
我查看了各种类似的问题,例如this one、this one、this one、this one和this one,这些问题在我自己找到解决方案之前未能为我的问题提供解决方案。但是,它仍然不像是“正确”的 Angular 方式,所以我向社区征求意见。
这是设置。我有一个布局模板(index.html):
我有一个局部视图模板(diagram.html)。注意自定义指令,解释如下:
这是我的路由配置,指定局部视图模板和控制器:
这是用于局部视图的控制器。它使用 $routeParams 中的 processId 值通过 $http.get() 进行调用,以检索它分配给绑定到模板的 $scope.diagram 的 SVG 数据:
我的问题是弄清楚如何在将 SVG 内容添加到 DOM 后对其运行代码。当然,在 Angular 中进行任何 DOM 操作的正确位置是在指令中,所以我写了一个:
在将 SVG 内容添加到 DOM 之后,我可以让 diagram.process() 函数运行的唯一方法是在 element.html() 上使用 $watch,如图所示。这对我来说是“错误的”,我想知道是否有更“正确”的方式。
angularjs - AngularJS http post循环
我怎样才能调用该函数一次。当我这样做时,称它为循环。HTML:从控制器调用函数。找到索引的值。
JS:函数请求服务器值
angularjs - Web Api 404 错误 找不到资源
我尝试使用 Web Api 从服务器发送/获取数据。WebApiConfig.cs:
RouteConfig.cs:
Globa.asax.cs:
Api 控制器(ServicesController.cs):
我正在尝试从 angularJS 控制器访问 api,如下所示:
我在“服务/加载元数据”的 $http.post 上收到错误 404!我使用路由尝试了一些版本 - 相同的错误 404。有什么帮助吗?
php - AngularJS $http.get 不工作。不检索数据
我是 AngularJS 的新手,但我已经做了很多事情。我做了一个 $http.post,效果很好。
这是Angular代码
以及manageUsers/login功能
好的。它正在工作。我从数据库中检索一些数据并确定。真正的问题是,当我执行$http.get并且仅通过是否对数据库执行请求时,它不会发回我想要的数据,当我执行 console.log(data) 时,它会向我显示完全是 HTML 页面,实际上就是正在显示的页面。我得到一个 200 状态 OK,但是,一个 HTML 页面即将到来。不知道为什么。
这是Angular代码
这是我正在检索的PHP 代码函数。
我被困住了。我什至尝试过只做一个“回归真实”;在 php 函数内部,返回 'string';但什么都行不通。我做错了什么?
javascript - $http.jsonp 中的连接填充文本字符串
您好,我正在尝试对 filltext.com 服务器进行动态 $http 请求。代码:
问题是当我尝试将 +count+ 添加到 $http.jsonp 字符串参数中时,我没有从 filltext.com 获取数据,但是当我静态写入 rows=5 时,它正在生成数据谢谢您的帮助:)
javascript - AngularJS返回$http结果时如何隐藏或显示菜单项
我有一个菜单和一个登录页面:)。
我想更改菜单项,但目前我无法在登录后刷新菜单。
如果登录成功,应该显示一些菜单项或添加特殊的用户菜单项。
但我做不到。
angularjs - $http 拦截器中的 Angular UI Bootstrap 模式对话框挂起浏览器
我正在尝试实现延迟授权,仅当用户触发对需要身份验证的 API 的调用时才会引入登录对话框。我正在使用引导程序ui.bootstrap.modal(和模态中的ui.bootstrap.alert)。问题是这些指令明确指定了以下内容teamplateUrl
:
- 模板/modal/backdrop.html(在
modal.js
这里) - 模板/模态/window.html(在
modal.js
这里) - 模板/alert/alert.html(在
alert.js
这里)
像这样:
每次我调用$modal.open()
并且 ui-bootstrap 为新的模态窗口构建 DOM 时,Angular 都会尝试通过$http
服务解析这些 url,即使模板已经通过$templateCache.put
方法或添加<script>
标签加载。这基本上导致了我的拦截器中的无限递归,它试图为request
上面的 url 带来登录对话框的过载。
这是我的拦截器的简化版本:
工作演示在这里
谁能建议不涉及对ui.bootstrap.modal
和中使用的 templateUrls 进行硬编码的方法ui.bootstrap.alert
?
我也在 github 上报告了这个问题。