JSon a Asp.Net dentro de un Web Worker.No puedo encontrar el método dentro del controlador
-
27-10-2019 - |
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
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