错误:未捕获(在承诺中):状态为响应:角度为2的URL未找到404

时间:2016-09-22 05:19:33

标签: angular

我有以下服务

import { Headers, Http, Response } from '@angular/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/toPromise';

我正在将我的代码从普通的JS转换为angular。正常的ajax调用它工作正常。但我可以使用angular2发布帖子。有人可以建议我,为什么不打电话给.php

导入的东西是

private headers = new Headers({'Content-Type': 'application/json'});

标题定义如下

<script>
if (isMobile.apple.phone || isMobile.android.phone || isMobile.seven_inch) 
{
    //Just appear
}
else
{
    //Fade in, etc
}
</script>

如果我在控制台错误中单击URL,则下载php文件。这意味着网址是正确的。

1 个答案:

答案 0 :(得分:16)

如果您在'app.module.ts'@NgModule导入中使用InMemoryWeApiModule.forRoot(InMemoryDataService),请尝试将其更改为:

InMemoryWeApiModule.forRoot(InMemoryDataService, {passThruUnknownUrl: true})

  

直接通过实时XHRBackend   如果现有的正在运行的远程服务器应该处理请求   设置不在内存数据库中的集合    Config.passThruUnknownUrl:true 。这项服务将转发   通过Angular XHRBackend的基本版本无法识别的请求。   https://github.com/angular/in-memory-web-api#pass-thru-to-a-live-xhrbackend

app.module.ts
... 

// Imports for loading & configuring the in-memory web api

import { InMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemoryDataService }  from './in-memory-data.service';

@NgModule({
  imports:  [
    ...
    InMemoryWebApiModule.forRoot(InMemoryDataService, {passThruUnknownUrl: true}), // fake in memory API simulation
  ],
  ...