none
Jquery no MVC não esta funcionando RRS feed

  • Pergunta

  • Pessoal


         Estou com um probleminha no MVC

         Criei uma função jquery em um arquivo .js e adicionei ao projeto

         Adicionei a referencia no arquivo BundleConfig.cs dessa maneira:


    bundles.Add(new ScriptBundle("~/bundles/validaLogin").Include("~/Scripts/ValidaLogin.js"));


       No cshtml adicinei a referencia da seguinte maneira :

        @Scripts.Render("~/bundles/validaLogin")


       Ao executar o projeto e clicar no botão que chama a função a mesma não executa.


       Alguém pode me dar uma ajuda por favor


    OBS: Segue a função abaixo

    (function () {




        
            var oTableRetornoValidacao;

            function ValidaLoginUsuario() {
                var usuario;
                var senha;


                $.ajax({
                    contentType: "application/json; charset=utf-8",
                    url: "/Manager/ValidaUsuarioAcesso",
                    dataType: "json",
                    type: "GET",
                    data: { acao: 'ValidaUsuarioAcesso', usuario: usuario, senha: senha },
                    dataType: "json",
                    beforeSend: function (result) {


                    },
                    sucess: function (result) {
                        if (result == null) {



                        }
                        else {

                            var dadosDataTable = [];

                            for (var i = 0; i < result.length; i++) {
                                var dados = result[i];
                                rowData = [dados._usr_id,
                                            dados._usr_nome,
                                            dados._usr_tipo_usuario,
                                            dados._usr_dep_id,
                                            dados._usr_localidade,
                                            dados._usr_foto,
                                            dados._usr_login,
                                            dados._usr_senha];
                                dadosDataTable.push(rowData);
                            }

                        }

                    },
                    error: function (result, status, e) {
                        alert(e);

                    }
                });

            }

            debugger;


            $('div#row').on('click', 'button.teste', function () {
                alert("Clicado");

            });

            //$("#btnEntrar").click( function() {
            //    ValidaLoginUsuario();
            //});  

       

    })();


        Marcos P. Marchette


    Marcos Marchette

    domingo, 1 de março de 2015 23:10

Respostas

  • Boa Noite Marcos, 

    Seguinte, 

    Verifique 3 (três) coisas:

    1 - O seu jQuery está sendo registrado antes do @Scripts.Render("~/bundles/validaLogin")?

    2 - A sua função ajax está com erro de escrita no retorno de sucesso: "success" está escrito "sucess". Ele pode estar sendo chamado mas não está retornando por causa do erro de escrita.

    3 - Verifique se está dentro do $(document).ready(function(){ sua_funcao });

    Se não funcionar, peço que coloque aqui o javascript completo que está fazendo e o trecho de código html do botão que chama a função javascript.

    Qualquer dúvida estou à disposição.

    Abraços!

    Se foi útil a minha resposta, marque resposta correta! Obrigado!

    terça-feira, 3 de março de 2015 04:29

Todas as Respostas

  • Olá Marcos, como vai?

    Verifica se a referência ao jquery está antes do seu script.
    Caso esteja usando o _Layout.cshtml default do MVC, usa a section scripts:

    @section Scripts {
        @Scripts.Render("~/bundles/validaLogin")
    }

    Se o problema persistir, informe o erro.

    Abs.

    segunda-feira, 2 de março de 2015 02:54
  • Fabiano

    Tudo bom?

    Obrigado por responder ao post.

    Fiz o que você me sugeriu porem não funciona e não da erro

    Segue o meu bundleconfig.cs e o html

    public class BundleConfig

        {
            // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
            public static void RegisterBundles(BundleCollection bundles)
            {

                //BundleTable.EnableOptimizations = true;
                 bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));

                bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include("~/Scripts/jquery-ui-{version}.js"));

                bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.unobtrusive*","~/Scripts/jquery.validate*"));

                // Use the development version of Modernizr to develop with and learn from. Then, when you're
                // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
                bundles.Add(new ScriptBundle("~/bundles/modernizr").Include("~/Scripts/modernizr-*"));

                bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-1.11.1.min.js"));           

                bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include("~/Scripts/bootstrap.js","~/Scripts/respond.js"));

                bundles.Add(new ScriptBundle("~/bundles/kendo").Include(
                 "~/Scripts/kendo/kendo.all.js",
                    // "~/Scripts/kendo/kendo.timezones.min.js", // uncomment if using the Scheduler
                 "~/Scripts/kendo/kendo.aspnetmvc.min.js",
                 "~/Scripts/kendo/kendo.web.min.js",
                 "~/Scripts/kendo/kendo.web.min.intellisense.js"
                 ));



                bundles.Add(new StyleBundle("~/Content/kendo/css").Include(
                "~/Content/kendo/kendo.common-bootstrap.min.css",
                "~/Content/kendo/kendo.bootstrap.min.css"));


                bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/css", "~/Content/bootstrap.css", "~/Content/justified-nav/css", "~/Content/skeleton.css", "~/Content/jqx.base.css"));


                bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                            "~/Content/themes/base/jquery.ui.core.css",
                            "~/Content/themes/base/jquery.ui.resizable.css",
                            "~/Content/themes/base/jquery.ui.selectable.css",
                            "~/Content/themes/base/jquery.ui.accordion.css",
                            "~/Content/themes/base/jquery.ui.autocomplete.css",
                            "~/Content/themes/base/jquery.ui.button.css",
                            "~/Content/themes/base/jquery.ui.dialog.css",
                            "~/Content/themes/base/jquery.ui.slider.css",
                            "~/Content/themes/base/jquery.ui.tabs.css",
                            "~/Content/themes/base/jquery.ui.datepicker.css",
                            "~/Content/themes/base/jquery.ui.progressbar.css",
                            "~/Content/themes/base/jquery.ui.theme.css"));


                bundles.Add(new ScriptBundle("~/bundles/validaLogin").Include("~/Scripts/ValidaLogin.js"));

                bundles.IgnoreList.Clear();



            }
        }


    Marcos Marchette

    terça-feira, 3 de março de 2015 00:01
  • Boa Noite Marcos, 

    Seguinte, 

    Verifique 3 (três) coisas:

    1 - O seu jQuery está sendo registrado antes do @Scripts.Render("~/bundles/validaLogin")?

    2 - A sua função ajax está com erro de escrita no retorno de sucesso: "success" está escrito "sucess". Ele pode estar sendo chamado mas não está retornando por causa do erro de escrita.

    3 - Verifique se está dentro do $(document).ready(function(){ sua_funcao });

    Se não funcionar, peço que coloque aqui o javascript completo que está fazendo e o trecho de código html do botão que chama a função javascript.

    Qualquer dúvida estou à disposição.

    Abraços!

    Se foi útil a minha resposta, marque resposta correta! Obrigado!

    terça-feira, 3 de março de 2015 04:29