Aka*_*ava 9 javascript ajax asp.net-mvc jquery
我对json或ASP.NET MVC有问题,我使用的是ASP.NET MVC,这是我从客户端发送的内容.
注意 在Chrome中调试后,我解释说这是在javascript中传递的内容,我不是手动将State设置为null,因为它从其他地方作为null返回.这再一次不在我的掌控之中,因为它来自数据库.
在调试时,State显示它为null,而不是"null",但在MVC中进行调试时,它显示的是"null"而不是null.
$.ajax(
'/Client/Post',
{
method: 'POST',
data: {
Country: 'US',
// this is null because it is coming from somewhere else as null
State: null
}
});
Run Code Online (Sandbox Code Playgroud)
我的ASP.NET MVC处理程序收到...
public ActionResult Post(Client model){
if(model.State == "null")
{
/// this is true... !!!!
}
if(model.State == null )
{
// :( this should be true...
}
}
Run Code Online (Sandbox Code Playgroud)
是ASP.NET MVC还是jQuery的问题?
那么jQuery将null作为"null"发送,还是将null设置为"null"的MVC?
解
我不得不递归地创建新的对象层次结构(克隆对象)并将其发送到jQuery,因为jQuery将数据发送为Form Encoded,其中无法表示null,但理想情况下jQuery根本不应该序列化null.
不要发送字段:
$.ajax('/Client/Post',
{
method: 'POST',
data: {
Country: 'US'
}
});
Run Code Online (Sandbox Code Playgroud)
var data = {
Country: 'US',
State: null
}
if (!data.State) delete data.State;
$.ajax('/Client/Post',
{
method: 'POST',
data: data
}
});
Run Code Online (Sandbox Code Playgroud)
这与上述FYI完全相同
归档时间: |
|
查看次数: |
3749 次 |
最近记录: |