【发布时间】:2019-02-28 23:33:58
【问题描述】:
// getting cross-origin error in Web API
import { Injectable } from '@angular/core';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import { HttpClient, HttpHeaders } from '@angular/common/http'
import { Observable } from 'rxjs/internal/Observable';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { map } from 'rxjs/operators';
@Injectable()
export class HomeService {
constructor(private http: Http) {
}
getPrice() {
const headers = new Headers();
headers.set("Access-Control-Allow-Headers", "Origin, Content-Type, Accept");
headers.set("Access-Control-Allow-Origin", "*");
const options = new RequestOptions({ headers: headers });
return this.http.get("http://localhost:8084/getPriceDetails", options).pipe(map(data => data))
};
}
//Java类文件
package com.xyz.Action;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import org.apache.struts.action.ActionForward;
import org.apache.struts.actions.LookupDispatchAction;
import java.util.ArrayList;
public class dataAction extends LookupDispatchAction {
private ResourceBundle getResourceBundle() {
ResourceBundle resourceBundle = null;
return resourceBundle;
}
@Override
protected Map getKeyMethodMap() {
Map map = new HashMap();
map.put("getPriceDetails", "getPriceDetails");
return map;
}
public String getPriceDetails() {
String str = "In Data Action";
System.out.println("com.xyz.Action.dataAction.getPriceDetails()"+str);
return str;
}
}
我正在尝试从前端(Angular)访问后端(java)。但是遇到了这个跨域问题。所以我也添加了标题,但它不起作用。 我想我必须更改后端代码。但不知道在哪里和什么。
Java 代码(我刚刚创建了一个 java 应用程序。我正在尝试在前端和后端之间进行通信。)
【问题讨论】:
-
CORS 问题是服务器端错误,而不是前端错误。我正在删除您的 ANGualr 标签并使用更合适的标签。随意发布您的服务器代码。
-
你在用spring-boot吗?
-
实际上,我刚刚为 backed 创建了 java 代码,但没有设置任何 spring-boot。目前,我只是尝试从前端到后端进行通信。你能告诉我如何连接吗?
-
@Lovely 你能发布后端代码吗?让我们看看
-
我添加了后端动作文件。
标签: java cors cross-domain