问题标签 [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 投票
4 回答
126420 浏览

javascript - AngularJS 使用 ng-upload 上传图片

我正在尝试使用 ng-upload 在 AngularJS 中上传文件,但我遇到了问题。我的 html 看起来像这样:

我的 js 控制器看起来像这样:

我面临的问题是当裁剪图像被点击并执行uploadPostImage时,它会上传整个表单。不是想要的行为,但我可以让它工作。最大的问题是在 js 中,函数 uploadPostImage 的“内容”参数始终未定义,即使“完成”参数返回为真。

目标是仅上传图像以进行裁剪。我在这个过程中做错了什么?

0 投票
1 回答
78 浏览

javascript - Angular jsonp 不工作

我正在尝试jsonp使用以下代码拨打电话,但似乎对我不起作用。

代码

任何帮助将不胜感激。

0 投票
1 回答
101 浏览

angularjs - Angular - 如何投射 $http 响应

我想将我的 $http 调用的结果投影到另一个模型中,以便使投影对服务调用全局化。

换句话说,我从 http/api 调用中得到的结果没有使用我想要的确切模型。

我如何在我的服务类中进行这种预测?

0 投票
1 回答
14964 浏览

angularjs - 在 AngularJS/karma/jasmine 测试中通过 $http 测试后端 API?

如何使用 AngularJS/karma/jasmine 测试来测试我的 API 后端?

我试图创建最小的测试用例来显示我的错误:

回声服务器.py

测试/单元/apiSpec.js

的输出karma start configs/karma.conf.js

0 投票
9 回答
163290 浏览

angularjs - AngularJS 没有检测到 Access-Control-Allow-Origin 标头?

我在本地虚拟主机(http://foo.app:8000)上运行一个角度应用程序。它正在向另一个本地 VirtualHost ( http://bar.app:8000 ) 使用$http.post.

在 Chrome 开发人员工具的网络选项卡中,我当然会看到 OPTIONS 请求,响应包括标题:

但是,POST 请求被取消并出现以下错误:

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“ http://foo.app:8000 ”。

有没有人经历过这个?标Access-Control-Allow-Origin头非常明显地包含在 OPTIONS 请求的响应中,因此我无法终生弄清楚为什么 POST 正在执行标头丢失。

Access-Control-Allow-Credentials也设置为true

0 投票
1 回答
949 浏览

ng-grid - 使用 $http 拦截器修改请求 url 时,ng-grid 不会加载标题行模板

我们的应用程序使用$http拦截器将令牌添加到$http请求中作为一种安全形式,拦截器添加的令牌每 5 分钟左右更新一次。我们现在要使用ng-grid.

但是,$http拦截器ng-grid不会加载它用于标题行的模板,这会导致标题行无法呈现。

这是实际问题:http ://plnkr.co/edit/krvBF2e4bHauQmHoa05T?p=preview

如果您检查控制台,它会显示以下错误:

发生这种情况的原因是因为ng-grid将标题行的模板存储在 中$templateCache,然后使用 anng-include稍后检索它。

ng-include使用作为缓存的$http.get请求$templateCache来获取模板。

请求被拦截器拦截,$http.get拦截器在它有机会$templateCache使用 url 查询模板之前将安全令牌添加到 url。

$templateCache期待ng1389719736618headerRowTemplate.html但得到ng1389719736618headerRowTemplate.html?securityToken=123456

结果是$templateCache找不到模板,然后导致$http.get访问服务器并收到 404 错误。

另一个问题是,如果我们想使用来存储模板,然后用or$templateCache检索它,将无法找到模板,因为 url 会被修改。ng-include$http.get$templateCache

如何使用拦截器在 URL 末尾添加安全令牌来ng-grid显示标题行?$http

这是代码Html:

javascript:

更新

最终决定的解决方案是使用 Angular 装饰器和 decorate $templateCache,更新了 plunker 以反映这一点。

0 投票
1 回答
111 浏览

angularjs - 如何确保角度 $resource 使用以下角度 $http 设置?

我使用 CakePHP 作为我的后端。

因此,如果我使用$http,我需要具备以下条件:

a) 默认配置必须是

b) ng-modelhtml 输入中的属性必须是模式

换句话说,data.{CakePHPModelName}.{modelattribute}

我的 $http 与 CakePHP 后端完美配合。

我如何使用角度 $resource 一样成功?

0 投票
1 回答
1223 浏览

angularjs - 为什么使用 common 和 post 更改 ContentType 的差异会影响请求有效负载/表单数据?

如果我使用以下内容:

一个)

相对

b)

然后当我使用 a$http.post或 a$resourcePOST

a) 是我想要的,因为我在 Chrome 开发工具中得到了这个:

b) 不是我想要的,因为我在 Chrome 开发工具中得到了这个:

这让我很困惑,因为我希望 common 可以申请包括 post 在内的所有内容。

a) 和 b) 之间的唯一区别是 b) 具有

我正在使用 angular 1.2.6

问题也发生在1.2.9

请指教。

0 投票
1 回答
8853 浏览

javascript - AngularJS 无法使用 Content-Type:application/json 发送 post 请求

目前我正在使用 angularJS 和 CoffeeScript 来尝试发送 post 请求,我的示例代码是:

但是当我调用它时,它只是发送“OPTIONS”请求而不是 POST 请求。
请求详细信息是: 在此处输入图像描述 如果我在此方法中添加标头,

它仍然不起作用,但如果我将标题更改为 'Content-Type': 'application/x-www-form-urlencoded',那么它可以发送发布请求。
但是请求 Content-type 不是我想要的。

我还尝试通过以下方式将请求数据修改为 JSON: data: JSON.stringify(user),但仍然无法正常工作。

更新

伙计们,我在这个问题上做了另一个高峰。我是 jquery 来发送请求并且它工作正常,但我发现一个有线的东西是他们有不同的请求数据。

jQuery

Jquery 的屏幕截图 在此处输入图像描述

现在它可以发送请求,但我在尝试请求时只得到 401。
角的屏幕截图 在此处输入图像描述

所以我认为这个问题可能是由于角度请求数据的格式。

0 投票
1 回答
898 浏览

angularjs - AngularJS 请求拦截器导致我的 templateUrl 视图解析出现问题

我想将我的<base href="...href 属性的值添加到所有 get 和 post$http调用中。我尝试使用如下请求拦截器:

但是,不知何故,AngularJs 还将 base href 属性的值添加到我不想要的 templateUrls 中。

请问我该如何防止这种情况?