так что у меня проблема. Цель проблемы заключается в том, что когда я пытаюсь вызвать веб-службу из пользовательского элемента управления с помощью Ajax, у меня возникает внутренняя ошибка сервера 500.
Вот мой пример кода:
Веб-сервис .CS
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class BudgetJson : System.Web.Services.WebService {
public BudgetJson ()
{
}
[WebMethod]
public static String GetRecordJson()
{
return " Hello Master, I'm Json Data ";
}
}
Файл пользовательского управления (.Ascx) (вызов Ajax)
$(document).ready(function () {
$.ajax({
type: "POST",
url: "BudgetJson.asmx",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg)
{
alert(msg);
}
});
});
Итак, когда страница загружается и отправляется запрос, я получил такой ответ:
Мыло: ReceiverSystem.Web.Services.Protocols.SoapException: сервер не смог обработать запрос. --- ›System.Xml.XmlException: данные на корневом уровне недействительны. Строка 1, позиция 1. в System.Xml.XmlTextReaderImpl.Throw (исключение e) в System.Xml.XmlTextReaderImpl.Throw (String res, String arg) в System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace () в System.Xml.XmlText. ParseDocumentContent () в System.Xml.XmlTextReaderImpl.Read () в System.Xml.XmlTextReader.Read () в System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read () в System.Xml.XmlReader.MoveTotent () System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent () в System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement () в System.Web.Services.Protocols.Soap12ServerProtocolHelper.Route Protocols.SoapServerProtocol.RouteRequest (сообщение SoapServerMessage) в System.Web.Services.Protocols.SoapServerProtocol.Initialize () в System.Web.Services.Protocols.ServerProtocol.SetContext (тип типа, контекст HttpContext, HttpR запрос equest, ответ HttpResponse) в System.Web.Services.Protocols.ServerProtocolFactory.Create (тип типа, контекст HttpContext, запрос HttpRequest, ответ HttpResponse, логическое значение и abortProcessing) --- Конец внутренней трассировки стека исключений ---
Если я добавлю имя метода в url, я получу такую ошибку:
Неизвестный веб-метод GetRecordJson. Имя параметра: methodName Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.
Сведения об исключении: System.ArgumentException: неизвестный веб-метод GetRecordJson. Имя параметра: methodName
Любое решение?