很多时候,特别是在使用get方法传输数据时,我们都会把简单的字符串参数传到URL里面,在后台取的时候方法有很多,在这里我说一种比较简单实用的。
function abolishTransportOrder(id){
var url = contextPath_js + "/pg/sale/distribContract/abolishTransportOrder.pfv?contractId="+id+"&rm="+Math.random();
$.ajax({
'type': 'POST',
'url': url,
'data': params,
'dataType': 'json',
'success': function(data) {
hideLoadingDialog();
if(data.result == 0) {
alertSuccess(toTransOrderPage());//A
}else {
alertFailue(data.resultMessage);
}
}
});
}
这是JavaScript的ajax请求,可以看到contractId这个参数是在URL里面的,然后实用jquery发送$.ajax请求到后台(注意这里只是局部刷新),下面的代码是后台获取参数:
@RequestMapping(value = "/abolishTransportOrder")
@ResponseBody
public Map<String, Object> abolishTransportOrder(Model model, WebRequest request)
{
String id = request.getParameter("contractId").trim();
}
这样就能取到URL里面的字符串参数,当然,你的参数的名字一定要写正确,都要是“contractId”。
顺便说一下,这个WebRequest 是spring框架里面的接口,所以的这种取URL里面的参数的方法很具有一般性,基本不会出错。
package org.springframework.web.context.request;
import java.security.Principal;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
/**
* Generic interface for a web request. Mainly intended for generic web
* request interceptors, giving them access to general request metadata,
* not for actual handling of the request.
*
* @author Juergen Hoeller
* @since 2.0
* @see WebRequestInterceptor
*/
public interface WebRequest extends RequestAttributes {}