Pregunta

Estoy enviando un JSon a mi controlador Asp.Net MVC 3 que está dentro de un Web Worker (usando jquery-hive). En el PostMessage, puedo capturar un error de Asp.Net que me dice que encuentra el controlador pero no tiene un método de acción X.

Ver el código: Aquí llamo al trabajador en main.js:

 var worker = new Worker('models/worker.js');

worker.onmessage = function (event) {
    var a = event;
};
worker.postMessage(null);

El código en worker.js:

  importScripts('hive.pollen.js');  $(function (msg) {
    $.ajax.get({
        url: '/Search/Method1/',
        dataType: 'POST',
        data: null,
        success: function (jsonObj) {
            $.send( jsonObj);
                }
    });
});

El controlador tiene este método:

[HttpPost]
    public JsonResult Method1(string test)
    {
        return Json("worked! " + test);
    }

El posMessage que me devolvió el trabajador es un error de asp.net.

[HttpException]: No se encontró un método de acción pública "Method1" en el controlador SearchController

¿Fue útil?

Solución

Parece que está emitiendo una solicitud GET (método $ .ajax.get).
Intenta usar $ .post () de jquery

Otros consejos

Tiene un error en: dataType: 'POST'.

En su caso, debe poner dataType: 'json' para poder enviar los datos en el formato correcto

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top