ajax 2种提交方式
get
$.ajax({ type: "Get", url: "/xiangmu/user/preparPayWeixin/result/"+out_trade_no+".action", success: function(data) { if(data.xxx== 'success'){ //具体业务 } }, error: function(err) { } });
post
$.ajax({ type: "POST", url: "Service/SimpleData", contentType: "application/json", //必须有 dataType: "json", //表示返回值类型,不必须 data: JSON.stringify({ 'foo': 'foovalue', 'bar': 'barvalue' }), //data: "{'str1':'foovalue', 'str2':'barvalue'}", success: function (jsonResult) { alert(jsonResult);
对应的2种spring mvc
对应get方式的
@Controller @RequestMapping("/user/preparPayWeixin") public class PreparPayNotifyWeixinController extends BaseController{ @ResponseBody @RequestMapping(value="result/{sn}",produces = "text/html;charset=UTF-8",method = {RequestMethod.POST, RequestMethod.GET}) public String getResult(@PathVariable("sn") String sn){ String re = ""; if(payStatus.get(sn) != null && "success".endsWith(payStatus.get(sn))){ re = "{\"data\":\"success\"}"; }else{ re = "{\"data\":\"fail\"}"; } return re; }
说明:@ResponseBody:返回给ajax的json数据用此注解
result/{sn}:{sn}为路径参数,需要和@PathVariable("sn")一起使用
method = {RequestMethod.POST, RequestMethod.GET}:接收get和post方式
produces = "text/html;charset=UTF-8":匹配请求头,Accept:text/html,不常使用
spring mvc还有一个常用注解:@RequestParam(value="aa", required=true)String title
对应post方式的mvc
@RequestMapping(value = "/SimpleData",method=RequestMethod.POST) @ResponseBody public ActionResult SimpleData(string foo, string bar){ return Json("SimpleData", JsonRequestBehavior.AllowGet); }