spring mvc ajax 提交,SpringMVC的Ajax提交

  • Post author:
  • Post category:其他


这种类型的提交, 必须配合 multipartResolver,

$(“button:submit”).click(function(){

$.ajax({

type :‘POST‘,

url :‘${sys_config.root_path}/login.html‘,

cache:false,

processData:false,

contentType:false,

data :new FormData($(‘#login_form‘)[0]),

dataType :”json”}).done(function(data) {if(data.success) {

//…}

});return false;

});

需要在Spring配置文件中使用, 没有这个的话, request中的parametersMap是空的

在dependency中要添加commons-fileupload.

在Controller中, 使用正常的方式即可

@RequestMapping(value = {“/login”}, method = RequestMethod.POST, produces=”application/json;charset=UTF-8″)

@ResponseBodypublicString doLoginPost()

{

Map params =getRequest().getParameterMap();

..}

另外在Spring的配置中还需要注意添加 content-negotiation-manager, 没有这个的话, 使用produces=”application/json”会出406错误. 其中关键的一个参数是favorPathExtension, 这个必须为false, 另外ignoreAcceptHeader这个参数不能加, 加上也会导致406.

json=application/json

xml=application/xml

对于普通的提交, 使用这种方式即可, 不需要multipartResolver

$(“button:submit”).click(function(){

$.ajax({

type :‘POST‘,

url :‘${sys_config.root_path}/login.html‘,

cache:false,

data : $(‘#login_form‘).serialize(),//new FormData($(‘#login_form‘)[0]),

dataType : “json”}).done(function(data) {//…

});return false;

});

favorPathExtension

原文:http://www.cnblogs.com/milton/p/4759175.html