Как вернуть XML из c # в JQuery - PullRequest
0 голосов
/ 16 ноября 2009

Моя программа выдает ошибку из jquery. Я не понимаю почему. Я работаю в C #, но в JQuery это не

using (XmlTextWriter writer = new XmlTextWriter(new StringWriter(sb)))
            {
                writer.Formatting = System.Xml.Formatting.Indented;
                ser.Serialize(writer, ct);
                XMLContent = sb.ToString();
            }
            return Content(XMLContent, System.Net.Mime.MediaTypeNames.Text.Xml);

F

$.ajax(
        {
            type: "POST",
            url: action,
            data: formobj,
            dataType: "xml",
            success: function(result) {
                alert(result);
            },
            error: function(req, status, error) {
                alert(req.statusText);
            }
        });
        return false;

Когда я заменяю

return Content(XMLContent, System.Net.Mime.MediaTypeNames.Text.Xml);

с

return Content(XMLContent);

и удалите

dataType: "xml",

из jquery все это работает.

1 Ответ

2 голосов
/ 16 ноября 2009

Один из способов, который может значительно упростить и оптимизировать ваш ajax, - это использовать JSON вместо XML.

(если вы действительно не хотите, чтобы ваш результат был XML)

В ASP.Net MVC вы можете позволить вашему действию возвращать Json в качестве результата.

return Json(new {
    variableName: someData,
    anotherVariableName: someMoreData
});

В твоих Js:

$.post(
    'yourActionName',
    optionalData,
    function(d) {
        alert(d.variableName);
        alert(d.anotherVariableName);
    }
);

Не может быть проще, чем это:)

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