使用angularjs 1.4.3,IIS,webapi,Chrome和IE 10
我有一个问题,我有这样的模型:
{ someKey: null }
此模型是通过webapi电话收到的。
在Angular中我将更改提交回服务器上的webapi端点,当我从Chrome上的网络选项卡中通过它时,模型看起来像这样:
{ someKey: {} }
这导致webapi服务器出现模型状态
的问题似乎Angular将null更改为空对象,这对我来说似乎不对。空对象不是空的。
有关于此的具体知识吗?这是一个问题还是错误?
提前致谢。
我也在使用Typescript。
其他细节/澄清:
我使用$ http发布到webapi端点,如下所示:
var myHttpConfig: ng.IRequestConfig = {
method: 'POST',
url: "http://my webapi url here"),
timeout: 120000,
data: {},
headers: null
};
myHttpConfig.headers = { 'Content-Type': 'application/json' };
myHttpConfig.data = { someKey: { aField: null } };
localPostPromise = this._$http(myHttpConfig);
网络视图显示已发布:
{"someKey":{"aField":{} } }
我的控制台日志将此显示为我在配置中设置的数据:
{ \"someKey\":{\"aField\":null } }
原始数据首先返回给我,与模型绑定:
{ "someKey":{"aField":null } }
答案 0 :(得分:0)
如果我理解你的问题: 使用undefined:
myHttpConfig.data = { someKey: { aField: undefined } };
或迭代对象属性并执行此操作
for (var property in object) {
if (object.hasOwnProperty(property) && object[property] == null) {
delete object[property];
}}