javascript – jQuery.ajax()并发送布尔请求参数

前端之家收集整理的这篇文章主要介绍了javascript – jQuery.ajax()并发送布尔请求参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
$.ajax({
  url : uri,type : 'post',data : {someBooleanVar1: false,subVar: {someBooleanVar2: true}}
});

问题是在服务器上someBooleanVar1和someBooleanVar2将作为字符串“false”和“true”接收,但不能作为“0”和“1”接收.有没有办法自动将布尔参数转换为“1”和“0”?

解决方法

有一个固定版本的@jcubic答案:
function convertBoolToNum(obj) {
    $.each(obj,function(i) {
        if (typeof obj[i] == 'object') {
            convertBoolToNum(this);
        }
        else if (typeof obj[i] == 'boolean') {
            obj[i] = Number(obj[i]);
        }
    });
}

$.ajax = (function($ajax) {
  return function(options) {
    convertBoolToNum(options.data);
    return $ajax(options);
  };
})($.ajax);

猜你在找的Ajax相关文章