通过AJAX从C#中的服务器返回数据

时间:2016-01-22 16:42:23

标签: c# jquery ajax

我正在使用AJAX调用来显示基于用C#编写的某些逻辑的成功或失败的信息。我现在需要从服务器返回其他数据并显示它。我需要的数据包含在employersagencies变量中。如何在return Json语句中与success一起返回该数据?

$.ajax({
    url: rootpath + "/clients/hasDuplicateTaxId",
    type: "GET",
    success: function (data) {
        if (data.success) {
            // success
        }
        else {
            // fail
        }
    },
    error: function (response) {
        var error = response;
    }
});
if (taxIdExists)
{
    var employers = _employerRepository.GetByTaxId(taxId).ToList();
    var agencies = _employerRepository.GetByTaxId(taxId).Select(e => e.GeneralAgency).ToArray();
    return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}

return Json(new { success = false, error = "Error" }, JsonRequestBehavior.AllowGet);

1 个答案:

答案 0 :(得分:1)

您需要将employersagencies变量添加到您向Json提供的匿名类型中,如下所示:

if (taxIdExists)
{
    var employers = _employerRepository.GetByTaxId(taxId).ToList();
    var agencies = _employerRepository.GetByTaxId(taxId).Select(e => e.GeneralAgency).ToArray();
    return Json(new { success = true, employers, agencies }, JsonRequestBehavior.AllowGet);
}

从那里,您可以在success电话的$.ajax处理程序中访问存储在这些属性中的数组:

success: function (data) {
    if (data.success) {
        console.log(data.employers);
        console.log(data.agencies);
    }
    else {
        // fail
    }
},

它们将是数组,因此您需要循环遍历它们以提取所需的信息。