【问题标题】:Dynamic post call giving error 404 on angular 5角度 5 上的动态后调用给出错误 404
【发布时间】:2018-05-30 11:35:33
【问题描述】:

我正在进行一个 post 调用,其中 post 参数从另一个 get 调用中获取。 如果我手动传递 post 参数,它的工作正常。

doPost(): Observable<any> {
    return this.http.post(this.URL+ '/GetEmp', {emp:[{"empId":8106, "name":"xxxxx"}]});    
}

但是当我动态调用它时,它会显示 404 错误

doPost(val): Observable<any> {
    this.postD = JSON.stringify(val);
    return this.http.post(this.URL+ '/GetEmp', {emp:this.postD});    
}

我是这样打电话的

this.configs.doPost(pval).subscribe(
    data => {this.post = data['org']},           
    err => console.error(err),
    () => console.log('done loading employee' + this.post)
);

要求是我正在发出一个 GET 请求,通过它我获取值并填充下拉列表,一旦我从下拉列表中选择了值,该值需要用于 post call 中的参数。

在这里我可以从下拉列表中获取值,但是一旦我通过发布请求传递它就会给出404 错误。

请帮助解决这个问题。

【问题讨论】:

  • 你能粘贴完整的error
  • 尽量不要字符串化,返回this.http.post(this.URL+ '/GetEmp', {emp: val});
  • POST myapiURL 404 (Generic) HttpErrorResponse {headers: HttpHeaders, status: 404, statusText: "Generic",url: "myapiURL", ok: false, …}
  • 你能在选择后显示你在调用什么吗?
  • 感谢您的回复,我已更新代码并删除了 stringify 及其工作。

标签: javascript angular5 httpclient


【解决方案1】:

hTTP post 需要一个对象,所以请不要stringify

doPost(val): Observable<any> {
    return this.http.post(this.URL+ '/GetEmp', { emp: val });    
}

语法如下:

post(url: string, body: any, options?: RequestOptionsArgs) :

  • 可观察的 url: 这是我们用来发布数据的 HTTP URL
    到服务器。
  • body:这是我们需要发布到服务器的对象。
  • 选项:这是可选的。这里我们传递
    的实例 使用标头的 RequestOptionsArgs。
  • Observable:这是Http.post()的返回类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-18
    相关资源
    最近更新 更多