我正试图从5号角获取请求,如下所示:
public showHeatMap(){
console.log("in showHeatMap")
let headers = new Headers();
headers.append('Access-Control-Allow-Origin' , '*');
/*
headers: new HttpHeaders({
'Content-Type': 'image/png',
'Access-Control-Allow-Origin': '*'
}) */
this.http.get(this.showHeatMapURL,{headers: headers}).toPromise().then((res)=>{
console.log("reading response....")
console.log(res);
});
}
但是由于“对预检请求的响应未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头,因此出现了错误。
答案 0 :(得分:0)
如果您将Spring用作后端服务器。您可以使用@CrossOrigin
批注来解决它。
就像:
@CrossOrigin
@RestController
public class DemoController {
@GetMapping("/getHeatMap")
public Object getHeatMap() {
...
}
}
此注释对于单个功能也很有用。
答案 1 :(得分:0)
您需要在Web Api中启用CORS。全局启用CORS的更简单,更可取的方法是将以下内容添加到web.config
using namespace cv;
using namespace ml;
using namespace std;
Ptr<ANN_MLP> mlp = ANN_MLP::create();
Mat layersSize = Mat(3, 1, CV_16U);
layersSize.row(0) = Scalar(inputTrainingData.cols);
layersSize.row(1) = Scalar(hiddenLayerSize);
layersSize.row(2) = Scalar(outputTrainingData.cols);
mlp->setLayerSizes(layersSize);
mlp->setActivationFunction(ANN_MLP::ActivationFunctions::SIGMOID_SYM);
TermCriteria termCrit = TermCriteria(
TermCriteria::Type::COUNT + TermCriteria::Type::EPS,
100000000,
0.000000000000000001
);
mlp->setTermCriteria(termCrit);
mlp->setTrainMethod(ANN_MLP::TrainingMethods::BACKPROP);
Ptr<TrainData> trainingData = TrainData::create(
inputTrainingData,
SampleTypes::ROW_SAMPLE,
outputTrainingData
);
mlp->train(trainingData);
答案 2 :(得分:-1)
如果您将Spring Boot用作后端,则可以添加该解决方案
在我的情况下,@Controller类上方的CrossOrigin正在工作。