我是棱角分明并使用角度5的新手。
我正在发送http post请求,我想将xml数据发送到后端,因为我的后端只接受xml格式的数据。
我已经按照一些教程进行了操作但无法使用它。请让我知道我做错了什么,以及如何让它发挥作用。
这就是我提出请求的方式。
signin(){
const headers = new HttpHeaders({responseType: 'text' , 'Content-Type': 'text/xml' }).set('Accept', 'text/xml');
let body = '<request>'
'<username>Username</username>'
'<password>Password</password>'
'</request>';
const hdr = {headers:headers , body:body};
console.log("Checking: " , hdr);
return this.http.post('https://66.128.132.126:8002/?event=account_login' , hdr);
}
答案 0 :(得分:2)
responseType和body不应附加标题。 body应该separetly发送并带有header和responseType选项对象应该形成并作为参数发送到post。
signin(){
const headers = new HttpHeaders();
headers = headers.append('Content-Type': 'text/xml');
headers = headers.append('Accept', 'text/xml');
let body = '<request>'
'<username>Username</username>'
'<password>Password</password>'
'</request>';
return this.http.post('https://66.128.132.126:8002/?event=account_login',body , { headers: headers, responseType: 'text' });
}
答案 1 :(得分:1)
默认情况下,Angular CLI发出预检请求以检查CORS:https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request
您的后端似乎没有正确处理此请求。我们需要后端信息来帮助您