jQuery Ajax no puede llamar al método del controlador MVC 4

Estoy intentando usar jQuery para disparar una llamada Ajax después de hacer clic en un botón determinado. He leído varios ejemplos de la sintaxis y los problemas que pueden surgir, pero no he podido encontrar una solución que funcione para mi causa. Aquí está el código.

Método del controlador: (HomeController.cs)

    [HttpPost]
    public JsonResult ChangeCompany(string companyCode)
    {
        return Json(new { result = companyCode }, JsonRequestBehavior.AllowGet);
    }

Código jQuery:

    function changeCompany(company) {
    $.ajax({
        url: '@Url.Action("ChangeCompany", "Home")',
        type: 'POST',
        data: JSON.stringify({ companyCode: company }),

        success: function (data) {
            alert("Company: " + data);
        },
        error: function (req, status, error) {
            alert("R: " + req + " S: " + status + " E: " + error);
        }
    });
}

Y finalmente, estoy llamando a esta función con:

$('.companyButton').click(function () {
    compCode = $(this).text();
    debug("Click event --> " + $(this).text());
    changeCompany(compCode);
});

Mi mensaje de depuración se muestra correctamente y la llamada Ajax falla constantemente con la siguiente alerta:R: [object Object] S: error E: Not Found

No estoy completamente seguro de qué hacer con eso.

Sé que hay varias preguntas sobre este tema, pero ninguna de ellas parece resolver mi problema y, sinceramente, no estoy seguro de qué es lo que está mal con estos bloques de código. Cualquier idea sería apreciada.

EDITAR: En caso de que valga la pena señalar, esto es para un dispositivo móvil. Pruebas en Windows 8 Phone Emulator (Internet Explorer), junto con jQuery Mobile. No estoy seguro si eso afecta al Ajax en absoluto.

EDIT 2: Después de echar un vistazo a la llamada de red sin formato, parece que'Url.Action("ChangeCompany", "Home")' no se está convirtiendo en la URL correcta y en su lugar se llama directamente como si fuera un texto de URL sin procesar ¿Esto se debe a una jQuery obsoleta, o algún otro factor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta