问题标签 [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 - 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 中的标题,但似乎不起作用
谢谢你
rest - AngularJS $http POST withCredentials 失败,请求正文中有数据
AngularJS 使用 REST 对服务器端进行身份验证,并获取 JSESSIONID cookie。在下一步中,我将尝试使用 REST 从服务器端获取一些 JSON 数据以及在上一步中获得的会话 cookie。这是客户端代码:
上面的代码工作正常:
当我在上面的 POST 请求正文中发送一些数据时,问题就开始了。
上面的代码在 prelight 请求中失败:
看起来服务器启动了一个新会话,因为会话 cookie 由于某种原因没有发送。无论如何,我觉得我错过了一些非常简单的东西,一些标题或类似的东西......任何想法都值得赞赏。提前致谢。
json - AngularJS:创建 API 请求的问题
我有一个场景,我必须处理一个配置错误的服务器,它只理解一个字符串化的 JSON。与服务器一起工作的是:
而且我尝试使用 $resources 来消除麻烦,我有类似的东西:
这是行不通的。服务器无法解析参数。恐怕我无法访问服务器以允许正确发布到它。
我想做的是从服务中发出确切的请求。其他变体——在 [] 中包含 JSON.stringify 也无济于事。
在这里可以做什么?
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。知道如何处理这种情况/正确处理承诺吗?
javascript - AngularJS:链接结果中的意外未定义
我以前使用嵌套指令遇到过这个问题,但我设法在那里找到了解决方法。我的代码看起来有点像,
显然,API 是调用 API 的服务。
问题是最后几行,其中console.log(result) 显示result.result.openReceipts,很明显result 是一个Resource 对象。
我对这里可能发生的事情感到困惑。有什么线索吗?将来如何避免这种情况?
angularjs - 标题更改时如何使用缓存使 $http 调用无效:true
我正在获取远程资源并缓存结果:
这工作正常。但是,当用户更改 UI 中的语言时,我也会更改Accept-Language
所有 AJAX 调用的标题。
问题是缓存是基于 URL 完成的,因此如果使用en-US
asAccept-Language
进行调用,那么它会被缓存,并且任何其他调用(无论语言如何)都是从缓存中提供的。
我不想将语言添加到 URL。
我有哪些选择?
angularjs - 如何仅为某些域向 $http 添加标头
是否可以仅为指定域设置标头?
执行此操作的“正常”方式会为所有调用添加该标头,甚至包括检索 HTML 模板的调用。
到目前为止,除了使用 $http 拦截器之外,我看不到任何其他方式,但如果你能想到一个,我很好奇。
谢谢。
javascript - 通过 AngularJS 发送带有多个数据的 HTTP Post
我正在使用 AngularJS。我想通过 AngularJS 在 HTTP 帖子中发送多个数据。后端运行 Cakephp,我已经验证了 Rest API 通过 python HTTP-post 工作。
我有一个看起来像这样的控制器;
当我运行代码时,页面无法正确加载 AngularJS。如果我注释掉$http.post(post_url, post_data);
,代码会正常运行。我哪里做错了?
非常感谢。
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,错误数据为空字符串。
javascript - 使用 AngularJS,我不想设置全局 $http.defaults.headers.common。我可以在每个 $resource 调用中发送我的自定义标头吗?
我正在调用我无法控制的后端服务器。目前它使用这样的jQuery ajax:
我想将其转换为使用该$resource
服务,并让它工作
唯一的问题是我必须$http
使用身份验证凭据设置全局服务默认值。
我看到您应该能够通过调用传递自定义标头$http
,现在通过$resource
调用传递,但我找不到任何关于如何在我的情况下执行此操作的示例(使用 POST)。
我在 AngularJS 文档中也找不到任何关于此的内容。大佬们是怎么想出这些东西的?文档太差了!