Angular 4 - 发布请求,地图不起作用

时间:2017-12-02 00:28:24

标签: angular spring-boot

我正在尝试将角度4应用中的地图数据发布到弹簧启动服务器,但它不起作用,有人可以帮忙吗?

服务 - >

  getmapdata(): Observable<ITinyMCEData[]> {
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    let data = new Map<number, string>();
    data.set(1, 'aa');
    data.set(2, 'bb');
    data.set(3, 'cc');

    console.log('map value == ' + data.get(1));

    return this._http.post(this._testmapurl, data, options)
      .map((response: Response) => <ITinyMCEData[]> response.json())
      .do(data => console.log(JSON.stringify(data)));
  }

chrome浏览器未显示地图数据:

Request Payload
{}
No Properties

服务器获取空白数据:

    @RequestMapping(value = "/testmap", method =  RequestMethod.POST)
public ResponseEntity<User> getMapData(@RequestBody Map<Integer, String> data) {
    System.out.println("Data = " + data); --> display blank
    Iterator entries = data.entrySet().iterator();
    while (entries.hasNext()) {
        Map.Entry entry = (Map.Entry) entries.next();
        Integer key = (Integer)entry.getKey();
        Integer value = (Integer)entry.getValue();
        System.out.println("Key == " + key + " value == + " + value);
    }

    User user = new User();
    return new ResponseEntity<User>(user, HttpStatus.OK);
}

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。地图类型仅在ES6中受支持,似乎我的浏览器不支持ES6。所以我将地图实现替换为 let map = {};然后填充值。 在服务器上,我创建了一个包含地图的类。