Ajax POST 报错:Cannot read property 'toLowerCase' of undefined

搜了网上相同的问题,大部分不知所语。

我的代码:

// ifChecked 触发时机:选框选中时触发
$("input[name=goodsCategory]").on('ifChecked', function(obj){
alert($(this).val());// 获取value值

var url=prefix + "/findCaTotalWeightByBook";
var data={
"caFlightNumber": function() {
return $.common.trim($("#caFlightNumber").val());
},
"CaTotalWeightByBook": function() {
return $.common.trim($("#caTotalWeightByBook").val());
},
"goodsCategory": function() {
return $.common.trim($(this).val());//出错位置,这里取不到value值
        },
};
//发送post请求
$.post(url,
data,
function(data,status){
alert("成功!"+data);
});

});

原因:

alert($(this).val());//这行可以取到需要的value值
return $.common.trim($(this).val());//出错位置,这行取不到需要的value值

正确写法:
// ifChecked 触发时机:选框选中时触发
$("input[name=goodsCategory]").on('ifChecked', function(obj){
alert($(this).val());// 获取value值

var url=prefix + "/findCaTotalWeightByBook";
var data={
"caFlightNumber": function() {
return $.common.trim($("#caFlightNumber").val());
},
"CaTotalWeightByBook": function() {
return $.common.trim($("#caTotalWeightByBook").val());
},
"goodsCategory": function() {
var obj= document.getElementsByName("goodsCategory");
for(var i=0; i<obj.length; i ++){
if(obj[i].checked){
return $.common.trim(obj[i].value);// 获取value值
                }
}
},
};
//发送post请求
$.post(url,
data,
function(data,status){
alert("成功!"+data);
});

});

或许你们的位置,跟我的不一样,但是出问题的地方一定是data里面的其中一个数据出问题!!!仔细检查就会发现问题

 
上一篇:VS2008系列培训教程之五:.NET Framework 3.5 Enhancements


下一篇:python案例 - 实现trim函数