编程语言
首页 > 编程语言> > javascript-使用Spring MVC时如何在不刷新整个页面的情况下重新加载HTML表

javascript-使用Spring MVC时如何在不刷新整个页面的情况下重新加载HTML表

作者:互联网

我正在使用带有Javascript的Spring MVC example.jsp文件.
我已经坚持了很长时间.

是否可以使用Javascript将数据库中的新数据转换为HTML表,而无需刷新整个页面?

当某些事件将新数据加载到表中时,我只是不希望替换整个页面.

解决方法:

如果要使用JavaScript重新加载页面的一部分,基本上是AJAX.
这就是你应该怎么做.

客户端

假设您使用jQuery作为JavaScript框架.
您需要在客户端中使用jQuery.ajax().

var successHandler = function( data, textStatus, jqXHR ) {
  // After success reload table with JavaScript
  // based on data...
};

var errorHandler = function( jqXHR, textStatus, errorThrown ) {
  // Error handler. AJAX request failed.
  // 404 or KO from server...
  alert('Something bad happened while reloading the table.');
};

var reloadData = function() { 
  // Process your request
  var request = new Object();
  request.id = 'some id'; // some data

  // Make the AJAX call
  jQuery.ajax({
    type       : 'POST',
    url        : 'http://domain/context/reload-data-url',
    contentType: 'application/json',
    data       : JSON.stringify(request)
    success    : successHandler,
    error      : errorHandler
  });
};

需要重新加载表时,调用reloadData()函数.

服务器端

您正在使用Spring MVC.然后,您的控制器应如下所示:

 // Spring MVC Controller
 @Controller
 public class ReloadDataController {

   // Request Mapping
   @RequestMapping(value = '/reload-data-url', method = RequestMethod.POST)
   @ResponseBody
   public ResponseEntity<String> processReloadData(@RequestBody String body) {

     // Get your request
     JSONObject request = new JSONObject(body);
     String id = request.getString("id"); // Here the value is 'some id'

     // Get the new data in a JSONObject
     JSONObject response = new JSONObject();
     // build the response...

     // Send the response back to your client
     HttpHeaders headers = new HttpHeaders();
     headers.add("Content-Type", "application/json; charset=utf-8");
     return new ResponseEntity<String>(response.toString(),
                headers, HttpStatus.OK);
   }

 }

您不必使用JSON,但我认为这是最好的方法.
希望这会帮助你.

标签:jsp-tags,html,javascript,spring-mvc
来源: https://codeday.me/bug/20191127/2075683.html