问题标签 [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.

0 投票
0 回答
168 浏览

angularjs - AngularJS $http.post 标头

我正在尝试做一个 http 帖子,但我无法让它工作,我有一个 405 Method Not Allowed,但是当我使用 Chrome 的插件时工作得很好

这是不起作用时的标题

响应标头 HTTP/1.1 405 方法不允许 日期:2014 年 3 月 13 日星期四 05:45:39 GMT 允许:GET,POST,PUT,DELETE,PATCH,HEAD 内容类型:application/xml;charset=UTF-8 Transfer-编码:分块请求标头用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 接受:text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Origin: null Access-Control-Request-Method: POST Access-Control-Request-Headers: content-type Connection: keep -alive Pragma:无缓存缓存控制:无缓存

这是它工作时的标题

请求标头用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/33.0.1750.117 Safari/537.36 来源:chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo 内容类型:application/json 接受: / Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Response headers Date: Thu, 13 Mar 2014 05:44:05 GMT Access-Control-Allow-Origin: * Content-类型:application/json;charset=UTF-8 内容编码:gzip 变化:Accept-Encoding 传输编码:chunked

我正在尝试更改 AngularJS 中的标题,但似乎不起作用

谢谢你

0 投票
3 回答
10305 浏览

rest - AngularJS $http POST withCredentials 失败,请求正文中有数据

AngularJS 使用 REST 对服务器端进行身份验证,并获取 JSESSIONID cookie。在下一步中,我将尝试使用 REST 从服务器端获取一些 JSON 数据以及在上一步中获得的会话 cookie。这是客户端代码:

上面的代码工作正常:

没有正文的 CORS $http 请求

当我在上面的 POST 请求正文中发送一些数据时,问题就开始了。

上面的代码在 prelight 请求中失败:

带有正文的 CORS $http 请求失败!

看起来服务器启动了一个新会话,因为会话 cookie 由于某种原因没有发送。无论如何,我觉得我错过了一些非常简单的东西,一些标题或类似的东西......任何想法都值得赞赏。提前致谢。

0 投票
1 回答
67 浏览

json - AngularJS:创建 API 请求的问题

我有一个场景,我必须处理一个配置错误的服务器,它只理解一个字符串化的 JSON。与服务器一起工作的是:

而且我尝试使用 $resources 来消除麻烦,我有类似的东西:

这是行不通的。服务器无法解析参数。恐怕我无法访问服务器以允许正确发布到它。

我想做的是从服务中发出确切的请求。其他变体——在 [] 中包含 JSON.stringify 也无济于事。

在这里可以做什么?

0 投票
1 回答
1757 浏览

angularjs - AngularJS - 如何正确处理承诺

我已经设置了一个 AngularJS resource

我将gridData资源注入我的控制器并使用它从服务器获取数据:

这种方法在使用 AngularJS 1.3 时效果很好。该console.log(result)语句打印接收到的实际数据。

现在我尝试降级到AngularJS 1.2.11,我遇到了一个问题,因为console.log(result)打印出一个承诺,如图所示。因此设置为承诺,但我实际上只需要在实际数据可用时设置 $scope.data 。$scope.data

这是因为在 1.3 和 1.2 之间的某些版本中,Angular 已经引入了 Promise。知道如何处理这种情况/正确处理承诺吗?

0 投票
1 回答
118 浏览

javascript - AngularJS:链接结果中的意外未定义

我以前使用嵌套指令遇到过这个问题,但我设法在那里找到了解决方法。我的代码看起来有点像,

显然,API 是调用 API 的服务。

问题是最后几行,其中console.log(result) 显示result.result.openReceipts,很明显result 是一个Resource 对象。

我对这里可能发生的事情感到困惑。有什么线索吗?将来如何避免这种情况?

0 投票
1 回答
232 浏览

angularjs - 标题更改时如何使用缓存使 $http 调用无效:true

我正在获取远程资源并缓存结果:

这工作正常。但是,当用户更改 UI 中的语言时,我也会更改Accept-Language所有 AJAX 调用的标题。

问题是缓存是基于 URL 完成的,因此如果使用en-USasAccept-Language进行调用,那么它会被缓存,并且任何其他调用(无论语言如何)都是从缓存中提供的。

我不想将语言添加到 URL。

我有哪些选择?

0 投票
1 回答
1069 浏览

angularjs - 如何仅为某些域向 $http 添加标头

是否可以仅为指定域设置标头?

执行此操作的“正常”方式会为所有调用添加该标头,甚至包括检索 HTML 模板的调用。

到目前为止,除了使用 $http 拦截器之外,我看不到任何其他方式,但如果你能想到一个,我很好奇。

谢谢。

0 投票
1 回答
4415 浏览

javascript - 通过 AngularJS 发送带有多个数据的 HTTP Post

我正在使用 AngularJS。我想通过 AngularJS 在 HTTP 帖子中发送多个数据。后端运行 Cakephp,我已经验证了 Rest API 通过 python HTTP-post 工作。

我有一个看起来像这样的控制器;

当我运行代码时,页面无法正确加载 AngularJS。如果我注释掉$http.post(post_url, post_data);,代码会正常运行。我哪里做错了?

非常感谢。

0 投票
2 回答
9747 浏览

javascript - $http GET 的 AngularJS API 调用错误

我正在尝试使用 Angular 创建一个使用我的 API 的简单应用程序。我正在使用虚拟机运行代码,并在我的计算机上访问它,因此要从我的机器调用 API,我可以使用 cURL 或任何其他 HTTP 客户端,一切正常。一个例子:

curl -k --user damien@email.com:password https://api.my.domain.com/v1/traveler/get

例如,这将返回一个旅行者列表。我需要“信任”证书,因为它无效。所以一开始在浏览器上调用会返回net::ERR_INSECURE_RESPONSE,所以我只是去 API URL 并添加异常,现在我不再有这个问题了。然后我必须添加基本身份验证,它似乎工作。让我们看看我的代码是什么,如果您发现任何错误,请告诉我,我正在关注使用外部 API 的本教程:http ://www.toptal.com/angular-js/a-step-by-step -guide-to-your-first-angularjs-app

应用程序.js:

服务.js:

最后,controllers.js:

错误状态码为0,错误数据为空字符串。

0 投票
3 回答
2252 浏览

javascript - 使用 AngularJS,我不想设置全局 $http.defaults.headers.common。我可以在每个 $resource 调用中发送我的自定义标头吗?

我正在调用我无法控制的后端服务器。目前它使用这样的jQuery ajax:

我想将其转换为使用该$resource服务,并让它工作

唯一的问题是我必须$http使用身份验证凭据设置全局服务默认值。

我看到您应该能够通过调用传递自定义标头$http,现在通过$resource调用传递,但我找不到任何关于如何在我的情况下执行此操作的示例(使用 POST)。

我在 AngularJS 文档中也找不到任何关于此的内容。大佬们是怎么想出这些东西的?文档太差了!