我正在尝试将表单数据之一发布到已禁用CORS的特定服务器上,这意味着它将仅接受POST方法和完全可以理解的不允许的OPTIONS预检请求,但是其中之一表明如果请求很简单请求(内容类型为= application / x-www-form-urlencoded的POST)不应造成问题,但我仍然会收到
的错误在以下位置访问XMLHttpRequest “ https://****.****.com/hpm/launchTransnoxScreen.hpm”(来源) “ http://localhost:4200”已被CORS政策禁止:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。
-
能否请您帮助我确定问题所在?我对angular完全陌生,并且刚刚开始探索。
Why is an OPTIONS request sent and can I disable it?
已在URL上方检查
import { Injectable } from '@angular/core';
import { Patient } from '../model/patient';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class SignupService {
private url: string = "https://stagemc.transnox.com/hpm/launchTransnoxScreen.hpm";
private httpHeadersVar = {
headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'text/html'
})
};
patientFormData: Patient;
constructor(private http: HttpClient) { }
callThP(data) {
const formData = new FormData();
formData.append('myKey1', 'some value 1');
formData.append('myKey2', 'some value 2');
formData.append('myKey3', 'true');
this.http.post(this.url, formData, this.httpHeadersVar).subscribe(
(res) => {
console.log(res);
},
err => console.log(err)
);
}
}
下面的html示例在单击按钮时可以单独正常工作。
它连接到主机并通过示例页面还原。
<html>
<head></head>
<body>
<form id="hppForm" name="hppForm" method="POST" action=" https://stagecp.transnox.com/hpm/launchTransnoxScreen.hpm">
<input name="uniqueID" id="uniqueID" type="hidden" value="XXX3" />
<input name="deviceID" id="deviceID" type="hidden" value="test_deviceID"/>
<button type="submit" class="btn btn-primary btn-block">Sign up</button>
</form>
</body>
</html>
答案 0 :(得分:0)
我认为HTTP标头不起作用:请尝试以下操作:
`执行此操作
echo <div align=center><a href='$files_show'>$files_field</a></div>";
如果这不起作用,则可能是您的API不允许使用CORS。
答案 1 :(得分:-1)
您可以点击以下链接:
https://daveceddia.com/access-control-allow-origin-cors-errors-in-angular/
您还应该在创建API的地方检查您的后端语言,然后启用CORS