Estoy tratando de ejecutar una solicitud de servicio web AJAX en una página Webservice ASP.NET.
Cuando se carga la página, intento llamar al servicio web pero aparece un error 500 en la consola.
Mi archivo WebService se ve así:
<System.Web.Script.Services.ScriptService()> <System.Web.Services.WebService(Namespace:="http://tempuri.org/")> <System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> <ToolboxItem(False)> Public Class usrDataSave Inherits System.Web.Services.WebService <WebMethod()> Public Function saydata(abc As String) MsgBox(abc) Return abc End FunctionMi página ASP.NET se ve así:
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $.ajax({ type: "POST", url: "usrDataSave.asmx/saydata", data: "hello_world", contentType: "application/json", datatype: "json", success: function(responseFromServer) { alert(responseFromServer.d) } }); }); </script> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>Espero que la página se cargue y aparezca un cuadro de mensaje en el lado del servidor emergente que dice 'hello_world', así como el navegador web para crear una ventana emergente que dice lo mismo. Sin embargo, esto no sucede ya que recibo un error 500 en su lugar.
Intenté solucionar esto usando diferentes versiones de jQuery y habilitando solicitudes en el archivo web.config como esta:
<webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost"/> </protocols> </webServices>Esto no funciona y sigo recibiendo que "el servidor respondió con un estado de 500" en la consola del navegador web. No se registran errores en la consola de depuración de la aplicación.
¿Cómo puedo arreglar esto?