Php Http.post()AJAX没有来自JSP/Spring服务器的响应

Php Http.post()AJAX没有来自JSP/Spring服务器的响应,php,spring,jsp,angular,ionic2,Php,Spring,Jsp,Angular,Ionic2,在我的爱奥尼亚2应用程序中,我使用以下代码块从示例站点www.my-website.com/member/loginPersist.do获取数据: 此/member/loginPersist是一个Spring MVC控制器 登录服务.ts private GetUser(user : User): Promise<any> { let options = this.makeHeader("post"); let x = this.http.post("http://

在我的爱奥尼亚2应用程序中,我使用以下代码块从示例站点
www.my-website.com/member/loginPersist.do
获取数据:

/member/loginPersist
是一个Spring MVC控制器

登录服务.ts

 private GetUser(user : User): Promise<any> {
    let options = this.makeHeader("post");
    let x = this.http.post("http://my-website.com/member/loginPersist.do", this.serialize(user) ,options).toPromise().catch(this.handleError);

    return x;

  }
private makeHeader(method : string){
  let headers = new Headers({
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'X-Requested-With': 'XMLHttpRequest'

  });
  let options = new RequestOptions({ headers: headers });

  return options;
}
private-GetUser(用户:用户):承诺{
let options=this.makeHeader(“post”);
设x=this.http.post(“http://my-website.com/member/loginPersist.do,this.serialize(用户),options.toPromise().catch(this.handleError);
返回x;
}
私有makeHeader(方法:string){
让标题=新标题({
“内容类型”:“应用程序/x-www-form-urlencoded;字符集=UTF-8”,
“接受”:“应用程序/json,文本/javascript,*/*;q=0.01”,
“X-request-With':“XMLHttpRequest”
});
let options=newrequestoptions({headers:headers});
返回选项;
}
但是我得到了无响应/Blank(无json结果),并且状态代码是200 OK。但是响应是空的

但是,如果我将url更改为
www.site.com/test.php
,我会得到php的响应。所以我知道我的http请求代码不是问题所在

这个问题与JSP/Spring服务器有关吗?我如何获得JSON响应


根据您提供的信息,我猜测您存在跨来源请求问题。请确保在控制器中允许该方法的跨源请求。只需使用

@CrossOrigin
这基本上会向您的服务器表明,它应该响应浏览器,接受来自任何域的请求。您还可以限制要允许的域。更多


如果您没有在服务器上启用此功能,则由于安全策略的原因,浏览器将无法完成请求。

鉴于您所处的位置,很难说清楚。请注意,将未绑定的方法作为回调传递是一种危险的做法。如果不这样做,请道歉。您所说的未绑定方法是什么意思?请查找“JavaScript中的动态
this
binding”。那么你就有了更多的理由去怀疑这些角度教程。