Получение jQuery ajax и asp.net webmethod xml response для работы - PullRequest
4 голосов
/ 21 декабря 2010

У меня есть asp.net WebMethod, который возвращает объект XmlDocument.Я могу успешно вызвать метод, используя jquery ajax, но не могу заставить эту функцию работать успешно (веб-метод на стороне сервера вызывается с правильными параметрами, но метод на стороне клиента завершается с «неопределенной ошибкой синтаксического анализатора»).

КомуВоспроизвести, Asp.net C #:

[WebMethod]
public static XmlDocument test(string name)
{
    XmlDocument result = new XmlDocument();
    XmlElement root = result.CreateElement("Data");
    result.AppendChild(root);

    XmlElement element = result.CreateElement("AnElement");
    element.SetAttribute("Name", name);
    root.AppendChild(element);

    return result;
}

JavaScript:

function CallForData(name) {
    $.ajax({
        type: "POST",
        url: "AppName.aspx/test",
        data: "{'name': " + name+ "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "xml",
        success: function (response) { ParseXML(response); },
        error: function (data, textStat, req) { alert(data + ' - ' + textStat + ' - ' + req); }
    });
}

Если dataType: «xml» закомментирован (автоматически), вызывается функция успеха, но данные загружаютсяквадратных скобок, которые, кажется, указывают на пустую структуру JSON.Мне нужен XML-ответ, который я могу проанализировать с помощью jQuery.

Я думаю, что мне, возможно, нужно добавить некоторую идентификацию формата в XML-документ, но я не уверен.Кто-нибудь может указать на проблему?

1 Ответ

5 голосов
/ 21 декабря 2010

Исправлено добавлением

[System.Web.Script.Services.ScriptMethod(ResponseFormat=System.Web.Script.Services.ResponseFormat.Xml)]

к веб-методу.

Кредит Riteshtandon23 в эта тема

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