如何使用Http发布json对象。post(角度2)(php服务器端)
我正在尝试重新创建 post json从Angular 2到PHP ,但它不起作用,因为$_REQUEST php侧变量中没有什么 代码: searchHttp({body}: any): Promise { let headers = new Headers ({ 'Content-Type': 'application/json' }); let options = new RequestOptions({ headers: headers, method: "post" }); let test_this = {"search": "person"}; return this.http.post(this.post_url, JSON.stringify(test_this), options) .toPromise() .then(response => {
2 2023-05-27
编程技术问答社区
Angular2:减少HTTP调用的数量
我正在使用ASP.NET核心服务器的Angular2 RC5,该服务器可以调用以获取我的数据. 我实际上想知道是否有一种方法可以减少您使用Angular2进行的HTTP调用数量,因为我担心如果我继续以自己的方式使用组件会有很多.这是一个具体的例子. 我想从数据库中获取文本值,该数据库由ID和语言定义.然后,我制作了以下组件: dico.component.ts @Component({ selector: 'dico', template: `{{text}}`, providers: [EntitiesService] }) class Dico implements AfterViewInit { @Input() private id: string; @Input() private lang: string; private text: string = null; // DI for my s
0 2023-05-24
编程技术问答社区
如何在Angular2的循环/地图内做一个异步的HTTP请求,并修改原来的循环数组?
在此处添加到angular2的新内容,想知道如何在数组模式上执行此异步请求(对模式名称不太确定). 因此,假设我使用Angular2的Http获取每个返回项目中包含videoId的YouTube播放列表.然后,我需要用videoId循环循环此项目,然后向YouTube提出另一个请求以获取各个视频信息.这可能是另一个常见的HTTP请求,获取列表,然后循环浏览列表,并获取每个单独的项目的详细信息. let url = [YouTube API V3 list url] let detailUrl = 'https://www.googleapis.com/youtube/v3/videos?part=contentDetails,statistics'; this.http.get(url) .map(res => res.json()) .subscribe(data => { let newArray = data.items.map(ent
0 2023-05-07
编程技术问答社区
用Angular2/RxJS读取缓冲响应
我正在建立一个从后端读取数据的网站.该数据是在即时计算的,并以缓冲方式发送回客户端. IE.一旦计算出第一个块,就会发送给客户端,然后计算下一个块并将其发送给客户端.整个过程发生在同一HTTP请求中.客户不应等待完整的响应来完成,而应在发送时自己处理每个块.通常可以使用XHR Progress处理程序来消耗此类响应(例如/a>). 如何使用rxjs和可观察到的angular2中的httpmodule消耗这种响应? 编辑:Peeskillet在下面给出了出色而详细的答案.此外,我进行了一些进一步的挖掘,发现了一个特征请求HttpModule的HttpModule a>和a stackoverflow问题与另一种方法有关如何解决 ./p> 解决方案 注意:以下答案只是POC.它旨在教育HTTP的架构,并提供一个简单的工作POC实施.应该查看 XHRConnection 有关实施此功能时还应考虑的想法. 试图实施此功能时,我看不出任何直接点击XHR的方法.似乎我们只需要提
0 2023-05-07
编程技术问答社区
可观察的地图函数没有运行(Angular2,http)。
更新 问题似乎是在"失败"请求上未运行地图函数.这意味着,如果我要与之交谈的API返回422 Validation Failed错误(或其他4xx错误),则角将视为故障并导致观察者运行订阅的错误回调,并在此过程中跳过地图函数./p> 是否有可能强迫角度将某些4xx错误作为成功的请求,或者即使可观察到的错误返回错误,也可以强迫地图功能运行? 我在我的angular2应用中运行以下代码: import {Injectable} from "angular2/core"; import {Observable} from "rxjs/Rx"; import {Http, Headers, ResponseOptions, Response} from "angular2/http"; import 'rxjs/add/operator/map'; ... public login (email : string, password : string) { ret
0 2023-05-07
编程技术问答社区
Angular 2 RxJS Observable: RetryWhen 过滤器在错误时重试 状态
我使用的是Angular 2 HTTP库,该库返回可观察的. 我想在某些错误状态/代码上实现重试. 我有一个问题,如果错误不是429,Observable.of(error)在错误情况下被执行要重试,但是当您所有的2个重试失败时,流量的执行都将变为成功块而不是捕获块. 如何使流量执行以在所有重试失败中捕获块? return this.http.get(url,options) .retryWhen((errors) => { return errors .mergeMap((error) => (error.status === 429) ? Observable.throw(error) : Observable.of(error)) .take(2);
0 2023-05-07
编程技术问答社区
Angular 2 Http, Observables和递归请求
我有一个休息端点,该端点返回项目列表,一次最多1000个项目.如果有超过1000个项目,则响应具有HTTP状态206,并且在下一个请求中可以使用Next-Range标头,以获取更多项目. 我正在研究 Angular 2应用程序,并尝试使用Http和Observable实现此目标.我的问题是,我不知道如何合并多个Observable s ,具体取决于有多少页,最终返回一个Observable 我的组件可以订阅. 这是我当前的打字稿实现的地方: // NOTE: Non-working example! getAllItems(): Observable { // array of all items, possibly received with multiple requests const allItems: any[] = []; // inner function for getting a range of items cons
0 2023-05-07
编程技术问答社区
angular2/http获取201响应的位置标题
我成功完成了Angular2"英雄之旅"首发教程.然后,我基于Symfony3,FosrestBundle和Bazingahateoasbundle构建API作为后端. 现在几乎所有内容都有效,但是在创建新项目时,我无法从响应中获得"位置"标题,以加载新创建的项目. 这是我的英雄服务: import {Injectable} from "angular2/core"; import {Hero} from "./hero"; import {Http, Headers, RequestOptions, Response} from "angular2/http"; import {Observable} from "rxjs/Observable"; import "rxjs/Rx"; @Injectable() export class HeroService { constructor(private _http:Http) { } priv
20 2023-04-07
编程技术问答社区
在Angular 2中提交帖子请求时的奇怪行为
我意识到我的标题有些模糊,但这是我的情况.我刚刚启动了一个应用程序,在该应用程序中,我正在实施JWT进行身份验证.我已经设置了服务器端,并且可以验证它正在按预期工作. 奇怪的是,当您单击按钮登录时,以chrome和firefox登录时,它会在没有请求的情况下发送请求一次.在Edge中,它将其提交两次,一旦按照Chrome的方式进行操作,然后几乎第二次就完好无损. 我现在将登录硬编码直接在邮政请求中,以尝试消除尽可能多的东西. header.component.html Home Census Login heade
10 2023-04-07
编程技术问答社区
用授权头打开InAppBrowser
对于我的Ionic2应用程序,我需要下载发票,但仅适用于身份验证的用户.有什么方法可以做吗? 我已经安装了InappBrowser Cordova插件,但似乎无法用于带有请求的授权标头. 解决方案 这项工作给我: 查找(YourProject)\ Plugins \ Cordova-Plugin-inappBrowser \ Src \ android \ inappbrowser.java文件并进行编辑. 在文件末尾的onReceivedHttpauthrequest中,您应该放置这样的东西. public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { // Check if there is some plugin which can resolve this auth challe
42 2023-04-06
编程技术问答社区
如何用Angular2正确下载excel文件
这是我服务的代码,它与响应XLS文件提出了发布请求: exportInternalOrder(body) { let user_token: string = this.sessionService.getToken(); let headers = new Headers(); headers.append('responseType', 'arraybuffer'); headers.append('Authorization', 'Bearer ' + user_token); return this.http.post(this.config.exportInternalOrder, body,{ headers: headers }).map(res => new Blob([res._body],{ type: 'application/vnd.ms-
20 2023-03-30
编程技术问答社区
是否有必要取消订阅由Http方法创建的可观察变量?
您是否需要取消订阅Angular 2 HTTP调用以防止内存泄漏? fetchFilm(index) { var sub = this._http.get(`http://example.com`) .map(result => result.json()) .map(json => { dispatch(this.receiveFilm(json)); }) .subscribe(e=>sub.unsubscribe()); ... 解决方案 所以答案是否定的,你不. Ng2会自行清理. HTTP服务源,来自Angular的HTTP XHR后端来源: 注意结果后如何运行complete().这意味着它实际上取消了完成的内容.因此,您不需要自己做. 这是一个验证的测试: fetch
6 2023-03-25
编程技术问答社区
Angular: Typescript铸造JSON响应作为对象模型不工作
我试图对对象进行JSON响应时有问题,我对象的所有属性都是字符串? 这是我的ajax请求: public getSingle = (keys: any[]): Observable => { return this._http.get(this.actionUrl + this.getKeysUrl(keys)) .map((response: Response) => response.json() as Badge ) .catch(this.handleError); } 这是我的徽章模型: export interface Badge { badgeNumber: number; authorizationLevel: number; endOfValidity: Date; } 这是我称之为服务功能的地方,我面临
4 2023-03-08
编程技术问答社区
从Angular服务中获取一个对象数组
我是Angular的新手(此事的JavaScript).我写了一项Angular服务,该服务返回了一系列用户.数据是从HTTP调用中检索的,该调用以JSON格式返回数据.记录从HTTP调用返回的JSON数据时,我可以看到此调用成功并且返回了正确的数据.我有一个拨打服务以获取用户和显示用户的HTML页面的组件.我无法将数据从服务中获取到组件.我怀疑我正在错误地使用可观察到的.也许我也在错误地使用订阅.如果我在nginit函数中评论getusers调用并取消注释getusersmock调用,一切正常,我会看到在HTML页面中的列表框中显示的数据.我想将JSON数据转换为服务中的数组或用户列表,而不是从服务中返回JSON并使组件将其转换. 从HTTP调用返回的数据以获取用户: [ { "firstName": "Jane", "lastName": "Doe" }, { "firstName": "John",
0 2023-02-17
编程技术问答社区
我怎样才能在不转换为字符串或json的情况下访问Angular 2的http响应体?
我想将REST响应复制到BLOB中,但是我无法执行一些操作,因为blob()和arrayBuffer()尚未在响应对象中实现.响应主体是一个私人变量. ... return this.http.get(url, {params: params, headers: headers}) .map(res => { // can't access _body because it is private // no method appears to exist to get to the _body without modification new Blob([res._body], {type: res.headers.get('Content-Type')}); }) .catch(this.log); ... 在实现这些方法之前,我可以使用解决方案吗? 解决方案
10 2023-01-28
编程技术问答社区
angular2-in-memory-web-api 404错误
我试图通过本指南在Angular 2中构建5分钟应用: 在HTTP部件中,我添加了一个假服务器,但由于Angular2-in-memory-web-api,我遇到了404个错误. http://localhost:4200/vendor/angular2-in-memory-web-api/in-memory-backend.service.js Failed to load resource: the server responded with a status of 404 (Not Found) 我试图按照此答案: angular2教程(英雄之旅):找不到模块'angular2 in-memory-web-api' 但他没有使用Angular-CLI +我不知道在哪里添加他们在那里谈论的依赖项. 我的main.ts: // Imports for loading & configuring the in-memory web api import { X
4 2023-01-22
编程技术问答社区
如何使用Angular 2的http post功能用javascript提交一个表单?
我已经开始学习Angular2,但是我想使用http.post()向我的Web API提交表单,但我不能. 解决方案 在组件中,您只需要在submit事件上附加一个侦听器,然后利用http对象即可执行HTTP请求.以前将该对象注入了组件的构造函数. var Cmp = ng.core. Component({ selector: 'cmp' template: ` Submit the form ` }). Class({ constructor: [ ng.http.Http, function(http) { this.http = http;
8 2023-01-20
编程技术问答社区
Angular2中的错误处理
我正在使用RESTful WebAPI后端的Angular 2服务返回数据. 我正在尝试优雅地处理不可用的服务,但是我在错误响应中得到意外信息. 这是代码 update(fund, transactionId:string, showToastOnError: boolean, useCorrectUrl: boolean) { let options = this.getStartCall(); options.headers.append("transaction-id", transactionId) let url = fundsUrl + (useCorrectUrl ? "" : "breakTheUrl"); return this._http.put(url, JSON.stringify(fund), options) .map(res => res.json())
18 2023-01-17
编程技术问答社区
用http获取图像或字节数据
对于Web应用程序,我需要使用AJAX请求获取图像,因为我们在API上具有签名 +身份验证,因此我们无法使用简单的 获得图像 由于我们正在使用angular2,因此我们显然在寻找斑点或类似的东西,但是如static_response.d.ts> file: 中所述 /** * Not yet implemented */ blob(): any; 好吧,我现在不能这样做,我必须等待实现thie功能. 但是问题是我等不及了,所以我需要一个hotfix或一些黑客才能从响应中获取图像数据,我将能够删除我的黑客攻击并设置blob()方法调用以使其良好何时实现. 我尝试了: export class AppComponent { constructor(private api:ApiService, private logger:Logger){} title = 'Tests api';
24 2023-01-12
编程技术问答社区
在手动URL导航上管理用户的认证状态
我正在使用Angular2带有ASP.NET核心MVC和管理手动URL导航工作正常,服务器正在成功加载我的Home View. 在用户身份验证时,我正在设置这样的会话变量: HttpHelper.HttpContext.Session.SetString("isLoggedIn", true.ToString() ); 我想要的是,在用户处于应用程序之后,如果有点何时通过手动导航到它来加载特定路由,我希望我的服务调用我的ASP控制器来检查用户是否已被认证我的警卫允许路由.相反,警卫默认设置为false,我显然会被重定向到我的登录页面. 这是我想要调用我在我的auth.service中更新我的isloggedin值的asp控制器方法: [HttpGet] public IActionResult IsConnectedState() { if (!String.IsNullOrWhiteSpace(HttpHelper.HttpContext.Sessi
14 2023-01-11
编程技术问答社区