возвращение Json предлагает мне скачать Json вместо того, чтобы отдавать его контроллеру - PullRequest
3 голосов
/ 30 июля 2011

Я не понимаю, почему это происходит ... Час назад у меня было возвращаемое значение моего действия, возвращающего данные Json на мой взгляд, и оно просто обновляло мой ListBox ... Я не знаю, чтона земле случилось ... но вдруг это просто побуждает меня загрузить данные ... я знаю, идея, что я сделал, я ничего не делал на самом деле ... я, должно быть, сделал что-тохотя, потому что он больше не работает !!!очень расстраивает ...

Вот мой взгляд и функция Jquery ...

    [HttpPost]
    public ActionResult SearchByDemographic1(FormCollection formCollection)
    {

        SLI.Text = patient.name[0].lastName + ", " + patient.name[0].firstName + " | " + patient.address[0].street1 + " | " + patient.address[0].city + " | " + patient.address[0].country;
                SLI.Value = patient.compositeID[0].id + "";
                patientList.Add(SLI);
        }
        ViewData["PatientListToAdd"] = patientList;
        //ViewData["POPID"] = PopID;

        return Json(patientList, JsonRequestBehavior.AllowGet);        
    }



    $(function () {
    $("#DemoGraphSubmit").click(function (e) {
        e.preventDefault();
        var form = $("#DemoGraphID");
        var srlzdform = form.serialize();
        var PopID = <% =PopID %>
        var options = [];
        var serializedForm = form.serialize();
        $.post("/PatientACO/SearchByDemographic", formCollection:srlzdform, function (data) {
            options = $.map(data, function (item, i) {
                return "<option value=" + item.Value + ">" + item.Text + "</option>";
            });
            $("#PatientListToAdd").html(options.join(""));
        });
    });
});

1 Ответ

2 голосов
/ 30 июля 2011

Я полагаю, что у вас есть ошибка в вашем JavaScript (проверьте FireBug), которая приводит к сбою вашего click события, отправляя форму нормально (и возвращая JSON-ответ, не вызывая вашу функцию обратного вызова).

Измените это:

$.post("/PatientACO/SearchByDemographic", formCollection:srlzdform, function (data) {
    options = $.map(data, function (item, i) {
        return "<option value=" + item.Value + ">" + item.Text + "</option>";
    });
    $("#PatientListToAdd").html(options.join(""));
});

На это:

$.post("/PatientACO/SearchByDemographic", srlzdform, function (data) {
    options = $.map(data, function (item, i) {
        return "<option value=" + item.Value + ">" + item.Text + "</option>";
    });
    $("#PatientListToAdd").html(options.join(""));
});

Код ошибки formCollection:srlzdform.Это недопустимое выражение JavaScript и приведет к ошибке.Возможно, вы имели в виду { formCollection:srlzdform }, но я не думаю, что это необходимо.Модельный переплет должен уметь это выяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...