语言/工具版本: @angular/cli:1.2.0 php 7.0.8 Zend表达2 Apache 2.4.23 Chrome 65.0.3325.181 Windows 7 问题: 我有一个Angular2应用程序,该应用程序使用PHP应用程序作为所有XHR请求的API.该应用程序正常工作,但是当在Chrome中启用Use a prediction service to load pages more quickly选项时,当应用程序重新加载时,将http请求发送到组件的ngOnInit()中,将其粘贴很长时间.如果我发送另一个请求(例如,在DOM上单击事件上的请求) ,请求要么将在10s-2-3mins之后解析,或者请求也将解决. 我尝试的东西: 我浏览了多个帖子(例如 1 , 2 , 3 等)有类似的问题 有用,我读到,如果我有多个HTTP请求,可能会发生这种情况.就我而言,我尝试隔离请求,现在我在组件初始化时仅发送一个请求.即使是一个请
以下是关于 angular 的编程技术问答
首先.请遵循我的问题. 我正在做的只是执行AJAX请求,该请求将返回字符串的响应数据. 这是我的php http请求 let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }); let options = new RequestOptions({ headers: headers }); return this.http.post('./app/parsers/peenoise.php', '', options) .then(val => console.log(val)) 这不起作用.但是,如果我将URL更改为此http://localhost:8912/app/pars
我如何转换一个uuid/guid值,例如8348d2c5-0a65-4560-bb24-f4f6bcba601d(我以 a> v4)在oid/dicom uid中像2.25.174506987738820548334170905323706671133一样?我更喜欢JavaScript中的解决方案.请参阅我用 this this 在线生成器. 解决方案 基于其他答案来自@amitjoshi;我现在可以回答我的问题: 这是JavaScript函数: function GenerateUidFromGuid(){ var guid = uuid.v4(); //Generate UUID using node-uuid *) package or some other similar package var guidBytes = `0${guid.replace(/-/g, "")}`; //add prefi
我尝试将Angular 2到PHP的数据发布: let headers = new Headers(); headers.append('Content-Type', 'application/json'); var order = {'order': this.orders}; this.http.post('http://myserver/processorder.php', JSON.stringify(order), { headers: headers }).subscribe(res => { console.log('post result %o', res); }); 在Angular 2中,只能将字符串发布为数据而不是JSON?对我来说还可以,但是我很难获取PHP上发布的数据.我尝试了$obj = $_POST['order']; 解决方案 MARC B是正确的,但是发生的事情是$ _post数组将包含一个空值,并带有一个键设置的JS
我正在尝试重新创建 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 => {
我是PHP开发人员,我开始学习Angular2.但是我不知道如何将其与PHP一起使用. 是否可以使用Angular作为前端? 我该怎么办? 如何在未安装node.js的共享托管上使用它? 解决方案 我的2美分是长期以来与Angular2一起玩的长期PHP开发人员. 作为PHP开发人员,您希望您的PHP呈现一个HTML页面并发送给客户端.您不会使用Angular2这样做.所有这些处理都将在PHP,构建数据表,列表或现在Angular的工作中进行的所有处理. 您现在唯一要使用PHP的事情就是发送JSON回复.其他人已经说了这一点. 我假设由于您问这个问题,因此您几乎没有与Angular2一起工作的经验.所以这是交易: 学习如何在本地计算机上使用节点和NPM.了解如何使用NPM设置您的空Angular2项目.在您的本地机器上播放和开发. 当您准备加载数据时,PHP可以通过将JSON数据发送到前端以使用Angular来参与. 当您准备将Angular2
以下这个问题我将我的REST Controller行为设置为 public function behaviors() { $behaviors = parent::behaviors(); $auth= $behaviors['authenticator'] = [ 'class' => HttpBearerAuth::className(), 'only' => ['dashboard'], ]; $behaviors['contentNegotiator'] = [ 'class' => ContentNegotiator::className(), 'formats' => [ 'application/json' => Response::FORMAT_JSON, ], ]; $acces=$behaviors['acce
所以我知道那里有很多CORS帖子,我只是添加了他们,但是我找不到任何可以帮助我的答案.因此,我正在构建一个依赖于我的PHP API的Angular 4应用程序.在本地工作很好,当我用app.example.com的应用程序将其扔到域上,而在api.example.com上的API,我无法超越我的登录,因为我会收到以下错误: xmlhttprequest不能加载 http://api.example.com/accampount.com/account.com/account.com/account/login . 对飞行前请求的响应不会传递访问控制检查:否 请求的"访问控制"标头 资源.源 访问. 我的PHP代码看起来像这样: $http_origin = $_SERVER['HTTP_ORIGIN']; $allowed_domains = array( 'http://example.com', 'https://example.com',
我已经看到了许多解决方案来格式化AngularJS中的电话号码输入字段,但是我在Angular7上找不到任何东西.我本质上想要的是用户在Textfield中键入以下内容: 123456789 和供textfield格式化输入为: (123)456-789 我该怎么做?我找到了以下正则验证: ^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$ 解决方案 您可以使用电话面具指令进行处理, export class PhoneMaskDirective { constructor(public ngControl: NgControl) { } @HostListener('ngModelChange', ['$event']) onModelChange(event) { this.onInputChange(event, false); } @HostListener('key
我想知道是否有人有同样的问题.我使用Angular CLI进行了一个基于Angular 4的项目,该项目在Web浏览器中效果很好.当我将其包装在Adobe build.phonegap.com的云服务中并将其安装在我的Android平板电脑上时,它会显示空白屏幕. 我进行了一个实验,创建了一个新的Angular CLI项目,并且没有任何更改将其直接包装在build.phonegap.com中,结果是相同的 - 在平板电脑中打开已安装的应用程序时,空白屏幕. 我发现的互联网上非常稀缺的信息是关于的,但是改变其路径无济于事... 解决方案 最后,我发现了问题所在.我必须更新文件polyfills.ts,以便为Cordova/PhoneGap使用的移动Web视图渲染引擎提供更强大的多填充.因此,在polyfills.ts中,我更改了行: import 'core-js/es6/reflect'; 进入 import 'core
我有一个由长生不老药/凤凰建造的后端,还有一个由Angular 2(打字稿,早午餐,用于构建的IO,ES6)构建的前端.我现在想使用凤凰频道.而且我有点拼命地试图在我的前端使用凤凰javascript客户端. 我安装 a> via npm install phoenix-js,然后尝试将其注入类似角的服务中: import { Socket } from "phoenix-js"; 我总是在编译过程中获取错误Cannot find module phoenix-js. 我有点卡住,关于如何使此工作的所有提示将不胜感激. 谢谢 解决方案 编辑:我将在下面留下旧答案 - 即使有点鸣钟.使所有内容都可以正常工作,并使用Angular 2的Phoenix JS客户端的最新版本比我想象的要容易得多,而且我感到非常困惑. Phoenix JS客户端已被提取为NPM软件包,可以找到在这里.使用npm install --save phoenix安装.然后将其加
phantomjs不支持HTML5音频标签,这使得很难测试我的Angular2应用程序.我环顾四周寻找解决方案,但不幸的是,我无法找到一种模拟音频对象或以某种方式解决这个问题的方法.我有一个看起来像这样的Angular2服务: import {Injectable} from 'angular2/core'; @Injectable() export class MyService { var snd; constructor() { this.snd = new Audio('Assets/sound.wav'); } simpleFunction() { return true; } } 我的测试看起来像这样: import {describe, expect, it} from 'angular2/testing'; import {Component} from 'angular2/core'; import {MySer
最近几天,我一直在与报道报告工作时一直在与之抗争,而且我遇到了一个我无法解决的问题.我收到的堆栈跟踪,带有几行调试代码,是 15 07 2016 14:41:53.413:DEBUG [middleware:source-files]: Requesting /jspm_packages/npm/process@0.11.5/browser.js / 15 07 2016 14:41:53.413:DEBUG [middleware:source-files]: Fetching /jspm_packages/npm/process@0.11.5/browser.js 15 07 2016 14:41:53.415:DEBUG [proxy]: proxying request - /jspm_packages/npm/process@0.11.5/browser.js to localhost:9876 15 07 2016 14:41:53.417:DEBUG [middlew
我正在尝试弄清楚如何运行 angular2 Quickstart 使用Phantomjs. P> 我认为这些步骤足以配置业力: 1.克隆存储库 $ git clone https://github.com/angular/quickstart.git $ cd quickstart 2.安装Phantomjs和Phantomjs Launcher $ npm install --save-dev phantomjs $ npm install --save-dev karma-phantomjs-launcher 3.更改karma.conf.js //首次更改 require('karma-chrome-launcher')=> require('karma-phantomjs-launcher') //第二个更改 浏览器:['chrome'] =>浏览器:['phantomjs'] 4.安装Quickstart应用 $
我已经使用了Angular CLI(1.0.0-RC1.0.0)创建了一个户外项目.然后,我安装了phantomjs插件( npm安装karma-phantonjs-launcher ). 繁殖步骤: 使用Angular2 CLI创建项目( ng new Testphantomjs ) 运行 npm安装karma-phantonjs-launcher 在karma.conf文件中添加phantomjs,即更改为browsers: ['Chrome'] this browsers:['Chrome', 'PhantomJS'] 原因是,对于团队城市集成,我需要一个无头的浏览器. 只要将Chrome指定为浏览器,测试运行正常 问题是当您尝试使用phantomjs时.您将根据下图获得错误.我的研究表明,这与phantomjs和JavaScript版本兼容性有关.但是,我尚未找到解决此问题的解决方案. 是否有人遇到过这个解决方案? 我的karma.conf //
我正在为Angular2中的服务构建一些单元测试. 在我的服务中,我有以下代码: var hash: string; hash = this.window.location.hash; 但是,当我运行包含此代码的测试时,它将失败. 使用窗口的所有功能,这是很棒的,但是当我使用phantomjs时,我认为这是不可能的(我也尝试了chrome,从而产生相同的结果). 在Angularjs中,我本来会诉诸于嘲笑$ window(或至少有问题的属性),但是由于Angular2单位测试没有很多文档,因此我不确定如何执行此操作. 有人可以帮忙吗? 解决方案 在Angular 2中,您可以使用@Inject()函数通过使用字符串令牌命名窗口对象,例如此 constructor( @Inject('Window') private window: Window) { } 在@NgModule中,您必须使用相同的字符串提供它: @NgModu
我正在使用 Angular-Meteor Framework . 我想实现Google和其他搜索引擎的快速,一致索引,并允许Facebook共享者和其他刮刀生成我的JS生成内容的预览. 通常,Spas使用Phantomjs渲染页面服务器端并将静态HTML发送到客户端. 当然,当我拦截_escaped_fragment_或看到Google或Scraper用户代理时,我可以亲自产生phantomjs和 this Module ). 对于Angular 1应用程序,我曾经用 angular-seo等角模块解决此问题.将这样的模块转换为Angular 2. 我还没有找到任何适当的 Angular 2 模块.我应该自己构建它,还是有其他好方法可以实现这一目标? 解决方案 Angular2的伟大之处在于,启动时,根本应用程序元素内的所有内容都消失了.这意味着您可以将您想要的任何东西从爬行者捡起的服务器中放入那里. 您可以使用应用程序中的内容的服务器渲染版本或具
我有一个非常简单的应用程序,该应用程序应该读取一个小的firebase数据库... 很简单: import { Component } from '@angular/core'; import { AngularFireDatabase } from 'angularfire2/database'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { courses: any[]; constructor(db: AngularFireDatabase) { db.list('/courses/IlZ5lAPfQDmWAf52hAI4') .valueChanges().subscribe(courses => { this.course
因此,我按照MSAL角的说明成功地将Azure AD身份验证集成到了我的角站点,现在我想定义和利用角色和权限来提供更精细的控制用户可以做什么和不能做什么. 根据我能够确定的内容,我可以通过按照此组指令来定义角色( https://learn.microsoft.com/en-us/azure/architecture/multitenant-inentity/app-roles )但是MSAL-GANGULAR似乎没有暴露这是在登录时 - 或至少我还没有找到有关如何执行此操作的说明. 也许我错过了一些东西.任何建议都将不胜感激 解决方案 要获得一个用户属于的组,您需要在Angular App中以及Azure应用程序设置中的API权限中添加directory.read.all. let graphUser = await graphClient.api('/me').get(); let graphUserGroups = await graphClient.ap
我创建了一个GitHub回购,该回购目前有两个分支机构,Master和Clean_state(默认的Angular 2 Spatemplate).我希望删除服务器端渲染,同时仍以类似的方式保持应用程序工作.我正在与Visual Studio 2017 Enterprise Edition合作,该项目是ASP.NET Core 1.1项目. 我从未使用过这项技术,只了解从项目中剥离该模块的基础知识. 我的问题是,完全需要从喷气板中删除哪些东西才能删除服务器端渲染,而这样做我会丢失什么功能?我不仅在问需要更改什么以关闭服务器端渲染.需要删除/更改哪些文件才能将其完全从项目中删除.我想拥有一个可以克隆的github仓库,其中包括一个clean_state(服务器端渲染)或no_server(完全删除了服务器端渲染). 热模块加载仍然可以工作吗?性能差异是什么?小型网络应用程序每月100-1000次观看次数的性能差异是什么?有或没有服务器端渲染的性能,每分钟数百个请求是什么?