Javascript 承诺获取空表单控制器
我有一个返回以下行的控制器:Javascript 承诺获取空表单控制器,javascript,c#,jquery,ajax,Javascript,C#,Jquery,Ajax,我有一个返回以下行的控制器: Json(null, JsonRequestBehavior.AllowGet); 控制器中的此方法由Ajax请求执行,如下所示: return new Promise (function(resolve, reject) { $.ajax({ type: 'POST', url: GL_ROOT + "AccountingCompany/DeleteAccountingCom
Json(null, JsonRequestBehavior.AllowGet);
控制器中的此方法由Ajax请求执行,如下所示:
return new Promise (function(resolve, reject)
{ $.ajax({
type: 'POST',
url: GL_ROOT + "AccountingCompany/DeleteAccountingCompany",
data: JSON.stringify({ id: id }),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (deleteResult) {
resolve(deleteResult);
}
});
});
当我在成功部分设定一个断点时,它永远不会到达那里。但是如果我将结果从控制器更改为Json(-1,JsonRequestBehavior.AllowGet)代码>它到达Ajax请求成功部分的断点
有人知道我无法到达断点的原因吗?当试图解析转换为空字符串的Json(null)
结果时,客户端可能存在解析问题。
尝试使用Json(new{},JsonRequestBehavior.AllowGet)
希望能有所帮助。根据数据
参数必须是可序列化的值,我对C#没有太多经验,但我猜null
不可序列化会导致请求失败,您是否尝试过检查开发工具中的“网络”选项卡以查看请求是否失败?或者在那里定义故障处理程序和断点?看起来有一种方法可以忽略请求正确执行的空值,看起来实际上null
不可序列化,这就是它可以到达断点的原因。感谢您的帮助,它到达了断点,但是我不能像这样将结果与null进行比较result==null
或result=''
不客气,Alejandro,有多种方法可以测试相等性,这里有两种:如果您使用jQuery,请尝试jQuery.isEmptyObject(result)
,如果没有,请尝试JSON.stringify(结果)==JSON.stringify({})代码>