【问题标题】:Angular 2 POST RequestAngular 2 POST 请求
【发布时间】:2017-01-05 12:44:47
【问题描述】:

在 Angular 2 中执行 POST 请求时,我得到:

“例外:响应状态:404 Not Found for URL:”。

但是,在直接访问 URL 时,我得到了响应页面。

同样在我的后端代码中,我可以看到我的数据从客户端传递到服务器端:

Response_body: "{"Message":"无法添加语言 = A"}" 标头:标头:假 状态:404 状态文本:“未找到” 类型:2 网址:“http://localhost:1109/api/Language/AddLanguage

onSubmit(val){
   console.log(val);
   this.languageService.testPost(val)
        .subscribe(
         (res:response) => console.log(res);
        );
}                

testPost(newVal) : Observable<any>{
    let body = JSON.stringify(newVal);
    console.log(body);
    let headers = new Headers({'Content-Type' : 'application/json'});
    let options = new RequestOptions({headers : headers});
    return this.http.post(this.logUrl,body,options)
        .map((res : Response) =>  res.json());
}

【问题讨论】:

  • 请求中的错误是: Response_body: "{"Message":"Not able to add Language = A"}" headers: Headersok: false status: 404 statusText: "Not Found" type: 2 url : "localhost:1109/api/Language/AddLanguage"
  • 你能提供代码或创建一个plukr吗?
  • 但是您的资源必须与方法和网址匹配。也许在您的情况下,标头也存在约束,因为您的服务器正在响应Headersok: false。您可以使用 REST 客户端(如 PostMan 或 Chrome 中的 Advanced Rest Client 插件)尝试您的请求
  • 这是一个非常普遍的错误,服务器端可能出现任何错误,从不正确的连接字符串到堆栈溢出异常。我鼓励您检查服务器代码的错误日志(如果服务器代码在某处记录并且您可以访问它)并将错误粘贴到此处(如果有)。如果不出意外,您将确定服务器端代码工作正常,并且您需要专注于 JS 调整。
  • @RachitPandey...是的,Rachit,我认为你是对的。在调试时,在我的服务器端代码中,我发现一个异常,提到将数据保存到数据库时参数过多。

标签: http angular post


【解决方案1】:

是的,Rachit,我认为你是正确的。在调试时,在我的服务器端代码中,我发现一个异常,在将数据保存到数据库时提到了太多参数。

我认为这是罪魁祸首,如果您向 SP 提供的参数超过了所需的参数,通常会发生此错误。因此,在您的数据库实现中,如果您使用的是 SP,请一一检查它们提供了额外的参数。如果没有其他问题,您应该解决此问题。

【讨论】:

  • Bang On!!!!.....你救了我的 Day Rachit。问题与您的预期相同。在分析 S.P 和后端代码时,发现罪魁祸首是添加了额外的参数。删除行,成功了。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2017-04-17
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多