JSON para Asp.Net dentro de um Web Worker. Não é possível encontrar o método dentro do Controlador

StackOverflow https://stackoverflow.com/questions/7829919

Pergunta

Estou enviando um JSon ao meu Asp.Net MVC 3 controlador que está dentro de um trabalhador Web (usando jquery-hive). No PostMessage, posso capturar um erro de Asp.Net me dizendo que ele encontrar o controlador, mas não tem método de ação X.

Veja o código: Aqui eu chamo o trabalhador no main.js:

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

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

O código em worker.js:

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

O controlador tem esse método:

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

O posMessage que o trabalhador dê-me para trás, é um erro asp.net.

[HttpException]: Um método de ação pública "Method1" não foi encontrado no controlador SearchController

Foi útil?

Solução

Parece que você está emitindo um pedido GET ($ .ajax.get método).
Tente usar jQuery $ .post ()

Outras dicas

Você tem um erro em:. dataType: 'POST'

No seu caso, você tem que colocar dataType: 'json', a fim de enviar os dados no formato correto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top