none
Erro Json no envio de informações com algums caracteres RRS feed

  • Pergunta

  • Ola pessoal estou com um problema num formulário que envia um comando via Json, o problema que nesse formulário pode conter caracteres especiais como @ e . , o que esta me dando problema sao alguns caracteres o . (ponto) esta sendo o pior, quando tento enviar alguma coisa contendo esse sinal ele nao consegue enviar para o controller.

      código da View :

              function logarusuario() {        
                     var valor = document.getElementById("valorDiv")                 

                     var $bba = jQuery.noConflict()
                     $bba.ajax({
                      url: "/Usuario/funcao" + valor.value.toString(),
                       dataType: 'json',
                         type: 'POST',
                         success: function (result) {...}

    código do controller :

         public JsonResult funcao(string id)   { ... }
      
               


    segunda-feira, 15 de julho de 2013 17:54

Respostas

  • Tenta passar o valor usando a propriedade "data" do jquery.ajax:

    var $bba = jQuery.noConflict()
                     $bba.ajax({
                      url: "/Usuario/funcao",
                      data: { 'valor' : valor },
                       dataType: 'json',
                         type: 'POST',
                         success: function (result) {...}
    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:09
    Moderador
  •     

    tentei dessa forma:

     $bba.ajax({
                         url: "/Usuario/fucao",
                         data: { 'teste': valor },
                         dataType: 'json',
                         type: 'POST',

    controler:

      public JsonResult login() { }

    mas ele nao consegue ir, sera que estou esquecendo de alguma coisa, algguma configuracao?

    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:48
  • Se o parâmetro na assinatura da action se chama "valor" então na chamada ajax o nome deve ser o mesmo.

    Ex: data: { 'valor': 'teste' }

    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:56
    Moderador

Todas as Respostas

  • Tenta passar o valor usando a propriedade "data" do jquery.ajax:

    var $bba = jQuery.noConflict()
                     $bba.ajax({
                      url: "/Usuario/funcao",
                      data: { 'valor' : valor },
                       dataType: 'json',
                         type: 'POST',
                         success: function (result) {...}
    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:09
    Moderador
  •     

    tentei dessa forma:

     $bba.ajax({
                         url: "/Usuario/fucao",
                         data: { 'teste': valor },
                         dataType: 'json',
                         type: 'POST',

    controler:

      public JsonResult login() { }

    mas ele nao consegue ir, sera que estou esquecendo de alguma coisa, algguma configuracao?

    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:48
  • Se o parâmetro na assinatura da action se chama "valor" então na chamada ajax o nome deve ser o mesmo.

    Ex: data: { 'valor': 'teste' }

    • Marcado como Resposta leandro Bertanha segunda-feira, 15 de julho de 2013 19:24
    segunda-feira, 15 de julho de 2013 18:56
    Moderador
  • Deu certo joao, tudo certo agora, muito obrigado por tudo

    Exemplo para alguém mais que tiver esse problema:

    View:

         $bba.ajax({
                         url: "/Usuario/funcao",
                         data: { 'valor': valor.value.toString() },
                         dataType: 'json',
                         type: 'POST',
                         success: function (result) { ...}

    Controller :

    public JsonResult login(string valor) { }

    segunda-feira, 15 de julho de 2013 19:24