使用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,但我认为这是最好的方法。希望这会帮助你。

以上是 使用Spring MVC时如何在不刷新整个页面的情况下重新加载HTML表 的全部内容, 来源链接: utcz.com/qa/422273.html

回到顶部