为了账号安全,请及时绑定邮箱和手机立即绑定

如何从控制器发送返回的布尔结果以在 spring mvc 中查看

如何从控制器发送返回的布尔结果以在 spring mvc 中查看

慕田峪4524236 2021-12-22 19:18:30
我想将控制器方法的返回值(即标志)发送到我的视图中,并且在视图中我需要根据此标志显示一条警报消息。这是我的控制器代码@RequestMapping(value = "/testing", method = RequestMethod.POST)public Boolean testing(@RequestBody String value, HttpSession session, String username, ModelMap modelMap, HttpServletRequest request) throws Exception {  Boolean flag = false;  User userData = (User) session.getAttribute("MEMBER");  for (OrgData org: orgDataRepository.findAll()) {    if (m.getValue() != null) {      sourceAccessToken = (String) m.getValue();      flag = true;    } else {      System.out.println("Refresh token is expired");      flag = false;    }  }  return flag;}我的视图代码如下所示let btnVal = document.querySelectorAll('.test-btn');for (let i = 0; i < btnVal.length; i++) {  let btns = btnVal[i];  btns.onclick = function() {    var selchbox = getSelectedChbox(this.form); // gets the array returned by getSelectedChbox()    if (selchbox.length == 1) {      //document.write("check check"+selchbox);      $.ajax({        type: "POST",        url: "/testing",        dataType: "JSON",        contentType: "application/json; charset=utf-8",        data: JSON.stringify(selchbox),        cache: false,        success: function(data) {          alert("SUCCESS!!!");        },        error: function(args) {          /* alert("Error on ajax post");          console.log("Error"+args); */        }      });    } else {      alert("Please select only one check box");    }  }}我想在这个 ajax 调用中发送那个布尔值并显示一个弹出窗口或警报框。如何实现这一目标?
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

dataType: "JSON"从您的 ajax 调用中删除该属性。B'coz 你返回的是一个简单的布尔值。但是该属性表明它期望的响应是一个 JSON,在这种情况下这不是真的。然后使用像这样的代码


success: function (data) {

      if (data) {

          // your true code here

      } else {

         // your false code here

      }

 }


查看完整回答
反对 回复 2021-12-22
?
炎炎设计

TA贡献1808条经验 获得超4个赞

只需在成功函数中尝试这样的代码:


 success: function (data) {

        if (data) {

            alert("Success!");

        } else {

            alert("False value.");

        }

    }


查看完整回答
反对 回复 2021-12-22
?
largeQ

TA贡献2039条经验 获得超7个赞

您似乎没有对您的服务器价值做任何事情。您需要将其返回给客户。由于您使用的是 spring,您应该能够将 json 返回到您的 ajax 调用。


@RequestMapping(value="/testing", method = RequestMethod.POST, produces = "application/json")

@ResponseBody

public Map testAjax() {

  return Collections.singletonMap("flag", true);

}

然后您的 ajax 调用可以检索该值:


        success: function (data) {

        console.log("Success");

             console.log(data);

             alert(data.flag)

      },

      error: function (args) {

          console.log("error");

          console.log(args);

      }


查看完整回答
反对 回复 2021-12-22
  • 3 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信