【问题标题】:Can't receive the json response being passed from rest api in html无法接收从 html 中的 rest api 传递的 json 响应
【发布时间】:2019-04-23 09:21:11
【问题描述】:

Rest Api in 能够创建 json,但我的 ajax 无法接收从 rest api 传递的 json 内容。

function loadJsonData(){

    var dropDownValue = document.getElementById("dropdown").value;
    $.ajax({
        url:'http://localhost:8085/ParsingJson/rest/service/resources/getjsondata/'+dropDownValue,
        type:'get',
        contentType: 'application/json; charset=utf-8',
        cache:false,
        success:function(data){
        alert(data);
        document.getElementById("mySavedModel").value = data;
        load();
        },
        error:function(){alert('error');}
    }
);
}

Rest api 响应码:

@RequestMapping(value = "/getjsondata/{dropDownValue}", method = RequestMethod.GET)
public ResponseEntity<DummyPojo>  getJsonData(@PathVariable String dropDownValue) throws ApplicationException, ParseException{

    System.out.println("In For Json Data:: " + dropDownValue);

    DummyPojo dp = new DummyPojo();
    dp.setAge("14");
    dp.setName("Cap");
    return new ResponseEntity<DummyPojo>(dp,HttpStatus.OK);
}

我想要我的 html 文件中的 JSON 数据。

【问题讨论】:

  • alert(data); 更改为console.log(data);,然后查看浏览器控制台。警报很可能会显示 [Object object] 这没有帮助,但控制台会将对象显示为对象(而不是字符串)。运行该页面,让我们知道您得到什么响应。
  • console.log(data);也是空白。

标签: javascript java jquery ajax rest


【解决方案1】:

似乎有两种可能

  • dropDownValue 为空或
  • mySavedModel 尚未加载

在调用 loadJsonData

之前,请确保您的页面 DOM 已加载

【讨论】:

  • DropDownValue 已成功传递,并且 JSON 正在客户端创建,唯一的问题是它没有从 rest api 传递到 ajax。
  • 你能否测试一下只返回 DummyPojo 而不是 ResponseEntity 即返回 dp;
  • 将返回类型更改为 DummyPojo 后,ajax 调用给出错误警报。
猜你喜欢
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 2019-02-21
  • 2018-02-23
  • 2017-01-21
  • 1970-01-01
相关资源
最近更新 更多