【问题标题】:jQuery.get from Spring RestController来自 Spring RestController 的 jQuery.get
【发布时间】:2018-10-05 06:58:51
【问题描述】:

我应该如何将数据从 Spring 控制器发送到客户端?我需要将其包装为 Json 还是有更简单的方法?

(网络新手。所以,请多多包涵)

@RequestMapping("/abc")
@RestController
public class ListController {

@RequestMapping(value = "/d", method = RequestMethod.GET)
public StringOrJson? getData() {
    return "myData";
}

在客户端:

function checkBoxToggled(){
    $(document).get('abc/d', function( data ) {
      alert('Data Loaded2:' + data );
    }); 
}

【问题讨论】:

    标签: javascript java spring web spring-restcontroller


    【解决方案1】:

    如果您将@RequestMapping 声明如下,那就太好了:

     @RequestMapping(value = "/d", method = RequestMethod.GET, produces = "application/json")
    

    您可以返回简单的字符串响应。

    或者您可以随时按如下方式重新调用 JSONObject:

    return new JSONObject("{'data':'myData'}");
    

    在这种情况下,方法签名中的返回值应替换为 JSONObject

    【讨论】:

    • 感谢您的回复。但是,仍然没有得到它。使用“produces='application/json”,我在 localhost/abc/d 上得到它,但不是使用 jQuery.get。我在控制台中也一无所获.. JSONObject 在 url 和 jquery 上都不起作用..
    【解决方案2】:

    您只需将控制器修改为:

    @RequestMapping("/abc")
    @Controller
    public class ListController {
        @RequestMapping(value = "/d", method = RequestMethod.GET)
        public String getData() {
            return "myData";
        }
    }
    

    而客户应该是:

    jQuery.get("abc/d", function (data) {
        alert('Data Loaded2:' + data );
    });  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多