【发布时间】:2018-05-11 15:36:10
【问题描述】:
我发出一个 Ajax Post 请求,将下面的 Javascript 对象作为 Json 参数发送到 MVC 操作:
var productName, exchangeName, productCode, stockCode;
var categoryID, brandID, stockAmount, state, shippingWeight;
var sendinfo =
{
"pcb": {
"ProductViewModel": {
"ProductName": + $('#ProductViewModel_ProductName').val()
"ProductCode": + $('#ProductViewModel_ProductCode').val(),
"StockCode": +$('#StockViewModel_StockCode').val(),
"StockAmount": +$('#StockViewModel_StockAmount').val(),
"ShippingWeight": +$('#ProductViewModel_ShippingWeight').val(),
"State": +state
},
"CategoryViewModel": { "Kategori": +categoryID },
"BrandViewModel": { "BrandName": +brandID },
"ExchangeViewModel": { "ExchangeName": +exchangeName }
}
};
我的问题是关于这些属性的类型。有些是作为字符串输入的,但是这个对象只接受数字(当我将鼠标悬停在 pcb 上时会看到),并且当我输入数字以外的字符串时输出 null。为什么会这样?
我尝试将属性一一转换为:
string($('#StockViewModel_StockCode').val())
也尝试过 JSON.stringify() 但在这个对象中不起作用...
【问题讨论】:
-
用
parseInt()转换所需的值。 -
您也可以粘贴您的表单html代码吗?好像您使用了错误的输入类型。
-
@Fawaz: 不,
val总是为所有表单控件返回一个字符串。
标签: javascript json object model-view-controller types