Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在JsonResult之后不调用Ajax success_C#_Jquery_Ajax_Asp.net Mvc 4 - Fatal编程技术网

C# 在JsonResult之后不调用Ajax success

C# 在JsonResult之后不调用Ajax success,c#,jquery,ajax,asp.net-mvc-4,C#,Jquery,Ajax,Asp.net Mvc 4,我试图使用Ajax将记录添加到数据库中,如果成功,则从JsonResult获取数据,以便进一步调用函数,但总是出现错误:parseerror。但是,记录被插入到DB中 以下是我的发帖方法: $("body").on("click", "#btnAdd", function () { var txtTermName = $("#txtTermsName"); var txtAlternativeTerms = $("#txtAlternativeTerms");

我试图使用
Ajax
将记录添加到数据库中,如果成功,则从
JsonResult
获取数据,以便进一步调用函数,但总是出现错误:
parseerror
。但是,记录被插入到DB中

以下是我的发帖方法:

$("body").on("click", "#btnAdd", function () {
        var txtTermName = $("#txtTermsName");
        var txtAlternativeTerms = $("#txtAlternativeTerms");
        $.ajax({
            type: "POST",
            url: "/Administration/AddTerm",
            data: '{name: "' + txtTermName.val() + '", alternatives: "' + txtAlternativeTerms.val() + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                var row = $("#tblTerms tr:last-child");
                if ($("#tblTerms tr:last-child span").eq(0).html() != " ") {
                    row = row.clone();
                }
                AppendRow(row, r.Name, r.Alternatives);
                txtTermName.val("");
                txtAlternativeTerms.val("");
            },
            error: function(textStatus, errorThrown) { 
                alert("Error: " + errorThrown); 
            }     
        });
    });
我的控制器
JsonResult

[HttpPost]
public JsonResult AddTerm(Term term)
{
    this.SaveTerm(term);
    return Json(term);
}
如有任何意见或建议,我们将不胜感激

更新

Json(术语).数据
内容:

-       Json(term).Data {Models.Term}   object {Models.Term}
+       ChangedBy   
        Description null    string
        ID  27  int
        Inactive    false   bool
        Name    "sdfgdsgf"  string
        SynonymsList    "sdfgdsgfdsgsdgf"   string
+       Updated {09.08.2018 10:00:50}   System.DateTime

看起来在数据库save调用之后的某个地方调用了异常(我认为SaveTerm方法不仅仅是保存项?),导致返回一个错误页面而不是JSON,因此出现了解析错误


尝试将Try{}Catch{}添加到操作中,我估计会从SaveTerm方法中捕获一个异常。

错误是什么?浏览器网络选项卡告诉什么是为帖子返回的?可能不相关,但这是一种生成数据的丑陋而脆弱的方式-只需使用
数据:{name:txtermname.val(),可选项:txtAlternativeTerms.val()},并删除
contentType`option@tolik如果您曾经看到
[object object]
,则浏览器隐藏了它的实际内容(最有可能的情况是您执行了
警报(textStatus)
,或者更糟的是,
警报(“textStatus:+textStatus”)
。你不能将字符串与对象组合,所以只要始终
console.log(“textStatus”,textStatus)
(注意逗号,而不是
+
)@mjwills,基本上状态是:
200ok
term.GetType()={Name=“term”FullName=“AppNS.Models.term”}
。如果我是
Json(term).GetType())
,然后显然是
{Name=“JsonResult”FullName=“System.Web.Mvc.JsonResult”}
和/或逐步检查代码,以确保返回Json(也可能是Json序列化失败)@Milney试图围绕这个问题。SaveTerm(term);使用try-catch,但没有问题。@tolik-Hmm,您的模型类型中有日期时间类型吗?可能是转换了不正确的日期,可能是由于区域原因settings@freedomn-m、 “逐步执行”是什么意思?我在返回时放置了一个断点,返回结果的数据属性与term@tolidJSON结果是应该有一个带有实际JSON的value属性,将其发布到您的问题中,我们可以查看它是否有效