He mirado un par de subprocesos ahora donde quieren llamar a un método C# desde JavaScript en un proyecto ASP. No puedo entender lo que estoy haciendo mal. Aquí está mi clase de C#:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Services; namespace Selfservice.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } [HttpGet] public String GetCredentials() { return User.Identity.Name.ToString(); } } }Y aquí está el JavaScript que estoy tratando de llamar:
window.onload = function () { LiveSearch(); getCredentials(); //FetchAllUsers(); }; function getCredentials() { $.ajax({ type: 'POST', url: '@Url.Action("GetCredentials", "Home")', dataType: 'json', cache: false, contentType: 'application/json; charset=utf8', data: JSON.stringify(""), success: function (cred) { alert(cred); }, error: function (error) { alert(JSON.stringify(error)); } }); }Sigo recibiendo un estado 404 No encontrado. Es un sitio ASP que se implementa en un IIS, en uno de los servidores de mi lugar de trabajo. Estamos usando la autenticación de Windows, por lo que me gustaría obtener las credenciales de quien haya iniciado sesión y almacenarlas para otra cosa más adelante.
Estoy un poco al borde de mi ingenio aquí. ¿Alguien tiene alguna idea?
¿Acaba de intentar acceder a "/Home/GetCredentials" como URL? También como se mencionó, cambie al método GET, elimine el tipo de contentType y cambie el tipo de dataType a "texto" ya que su controlador no devuelve JSON.