关于$.ajax同步和异步的问题和提交后台的一些问题。

经常有人ajax函数外,定义一个全局变量,并且在返回函数取出一个值用作判断条件,但是这一条件常常失效。

var OnOff=0;
var checkPhone = function() {
var phoneVal ={ "tel":$(".checkPhone").val() }; $.ajax({
type : "post",
url : 'base/doExistTel.do',
data:phoneVal,
dataType : "json",
async:false,
success : function(data) {
var result = eval(data); if(result.Success=='true'){
OnOff=1;
} }
});
//如果ajax的async属性设为true,就是异步,在result.Success没有返回数据的情况下,执行
//以下的代码。如果async属性设为false的,则是同步,必在result.Success返回值的情况下再执行
//以下的代码。
if(OnOff==1){
      
}

contentType  是客户端到服务器端
 dataType是 服务器端返回

在前端返回的数据是这种类型:{"xz1":["A","B"]}

后端spring mvc @ResponseBody是无法接收,可能是value没有双引号,具体还没有试过。

不过可以在ajax设置一个参数(params),提交于后台:

$.ajax({
type : "post",
url : 'base/doSubmitProblem.do',
data:{"params":person},
dataType : 'json',
success : function(data) {。。。。。

  

后端代码

@RequestMapping("/doSubmitProblem")
@ResponseBody
public Map<String,Object> subProbem(@RequestParam("params") String ps){

}

上一篇:JMeter部分功能详解


下一篇:UGUI Canvas