【发布时间】: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,我认为你是对的。在调试时,在我的服务器端代码中,我发现一个异常,提到将数据保存到数据库时参数过多。