我无法通过ajax方法和jQuery从动作中返回模型

时间:2017-10-17 11:52:32

标签: javascript jquery ajax

我在索引页面中使用了DDL,我接受了我想要的操作,但是没有任何反应,尽管我的代码是正确的(我的意思是返回的结果是null)。但是我不知道如何从我的行动中恢复数据或者做什么,虽然我获得了成功(当我尝试一些警告时)。

这是我的index.cshtml代码:

$("#SjukhusNamn").change(function () {
    $.ajax(
        {
            type: "POST",
            data: { sjukhus: $(this).val(@Model.SjukhusNamn) },
            success: function (sjukhus) {
                alert("success");
            },
            url: "@Url.Action("Index", "Home")"
        });
});

在我的行动中,一个简单的[HttpPost]然后

public ActionResult Index(VardplatsOversiktViewModel model, string sjukhus)
{
        if (!string.IsNullOrEmpty(sjukhus))
        {
            model.SjukhusNamn = sjukhus;

            model.ListaVardplatsOversikt = db.tblVardplatsOversikt
                .Where(s => s.Sjukhus == model.SjukhusNamn)
                .ToList();

            return View(model);
        }
}

sjukhus是英语医院。

1 个答案:

答案 0 :(得分:0)

最简单的方法是将Object转换为JSON,然后将其写入响应。我喜欢使用the jackson library,但还有其他人。将Object作为json String后,获取PrintWriter并将其写入具有正确内容类型的响应:

PrintWriter out = null;
logger.info("Replying to client = " + jsonStr);
try {
    out = response.getWriter();
    response.setContentType("text/json;charset=utf-8");
    out.print(jsonStr);
} catch (IOException e) {
    logger.error("Error sending response to client: " + e);
}