【发布时间】:2017-04-06 09:45:44
【问题描述】:
我在工作中使用谷歌浏览器。
在https://stackoverflow.com/a/26003200/7204173 之后,我尝试从 webmethod 返回异常。但它没有在 console.log 中显示任何内容。我唯一得到的是从网络选项卡下面的一般错误消息:
“更新条目时发生错误。有关详细信息,请参阅内部异常。”
所以我尝试的是下面(ps:我正在使用实体框架 DbContext 向 DML 发送数据库):
public string AddData(myEntity e)
{
using(var context = new MyEntityModel())
{
try
{
context.myEntity.Add(e);
context.SaveChanges();
return "success";
}catch(Exception ex)
{
return "error : " + ex.Message;
}
}
}
现在我的 Javascript 代码:
function AddArticle()
{
var e {id : "1", value : "test"};
var DTO = { 'e': e };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(DTO),
url: "MyPage.aspx/AddData",
success: function (response) {
console.log(response);
},
error: function (xhr, status, error) {
var exception = JSON.parse(xhr.responseText);
alert(exception.Message);
console.log(exception.Message);
}
});
}
假设我在输入按钮后面调用了 javascript 函数。由于是数据库,var e {id : "1", value : "test"}; 不能添加两次,因为id 是主键。我仍然在 console.log 中一无所获;警报框甚至不会被触发。但成功后,console.log 会按预期显示success。
知道我应该在哪里寻找我的错误吗?
【问题讨论】:
标签: javascript jquery ajax entity-framework