Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

delgisa

Meu código ajax está grudando as palavras ao salvar no banco

Recommended Posts

Olá,

 

tenho um formulário que envia dados via ajax para uma página asp para inserir conteúdo no banco.

Mas quando salva, por exemplo o nome José da Silva, no banco de dados está juntando todas as palavras: JosédaSilva

 

Desculpe mas faz 4 dias que procuro uma solução. Já até achei alguém com mesmo problema mas ele não teve resposta.

 

Grato

 

Jardel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o teu código ajax, e o código server-side tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este é do formulário:

<div class="art-sheet clearfix">            <div class="art-layout-wrapper clearfix">                <div class="art-content-layout">                    <div class="art-content-layout-row">                        <div class="art-layout-cell art-content clearfix"><article class="art-post art-article">                                <div class="art-postmetadataheader">                                        <h2 class="art-postheader">Cadastro de Tipo de Atos</h2>                                                                                                </div>                                <div class="art-postcontent art-postcontent-0 clearfix"><div class="art-content-layout">    <div class="art-content-layout-row">    <div class="art-layout-cell" style="width: 100%" ><!--<script type="text/javascript" src="jquery-1.4.2.min.js"></script>--><!-- scripts que tenta acessar uma página de select e trazer o resultado para atualizar a lista abaixo.<script>var req;// FUNÇÃO PARA BUSCA NOTICIAfunction buscarNoticias(valor) {// Verificando Browserif(window.XMLHttpRequest) {    req = new XMLHttpRequest();}else if(window.ActiveXObject) {    req = new ActiveXObject("Microsoft.XMLHTTP");}// Arquivo PHP juntamente com o valor digitado no campo (método GET)var url = "pesquisateste.asp";// Chamada do método open para processar a requisiçãoreq.open("Get", url, true);// Quando o objeto recebe o retorno, chamamos a seguinte função;req.onreadystatechange = function() {        // Exibe a mensagem "Buscando Noticias..."    if(req.readyState == 1) {        document.getElementById('resultado').innerHTML = 'Buscando Noticias...';    }    // Verifica se o Ajax realizou todas as operações corretamente    if(req.readyState == 4 && req.status == 200) {    // Resposta retornada pelo busca.php    var resposta = req.responseText;        // Abaixo colocamos a(s) resposta(s) na div resultado    document.getElementById('resultado').innerHTML = resposta;    }}req.send(null);}</script><script>// FUNÇÃO PARA EXIBIR NOTICIAfunction exibirConteudo(id) {// Verificando Browserif(window.XMLHttpRequest) {    req = new XMLHttpRequest();}else if(window.ActiveXObject) {    req = new ActiveXObject("Microsoft.XMLHTTP");}// Arquivo PHP juntamento com a id da noticia (método GET)var url = "pesquisateste.asp";// Chamada do método open para processar a requisiçãoreq.open("Get", url, true);// Quando o objeto recebe o retorno, chamamos a seguinte função;req.onreadystatechange = function() {    // Exibe a mensagem "Aguarde..." enquanto carrega    if(req.readyState == 1) {        document.getElementById('conteudo').innerHTML = 'Aguarde...';    }    // Verifica se o Ajax realizou todas as operações corretamente    if(req.readyState == 4 && req.status == 200) {            // Resposta retornada pelo exibir.php    var resposta = req.responseText;        // Abaixo colocamos a resposta na div conteudo    document.getElementById('conteudo').innerHTML = resposta;    }}req.send(null);}        </script>--><!-- faz inclusão no banco --><script>        $(document).ready(function() { $("#button").click(function () {                    //Declarando as variaveis                var Nome ="";                                          //Recuperando os dados e atribuindo as variaveis                Nome = $("#Nome").val();                alert( "Conteudo antes de enviar para gravar " + Nome );                        //Inicio da funcao        $.ajax({                                //Metodo utilizado                type: "POST",                //Pagina que recebe os daods                url: "EFETIVAR.asp",                //String de dados enviada                data: "Nome="+ Nome + "",// ERA ASSIM: data: "Nome="+Nome+"&Email="+Email+"",                //Inicio da funcao que requisita a resposta da pagina onde recebeu os dados                success: function(msg){                alert( "Tipo de Atos Cadastrado com Sucesso! " + msg );                alert( "Conteudo antes de enviar para gravar - linha 113: " + Nome );                        //Limpando os valores dos campos                        $("#Nome").val('');                                //$("#Email").val('');  TINHA ESSA LINHA, COMO NÃO TEM ESSE CAMPO, RETIREI                        document.getElementById('conteudo').innerHTML = "teste";                        $('#noticia').load('pesquisateste.asp h1');                                }                                                        });                                                    });                        });     </script>  <table width="280" border="0">    <tr>      <td>Nome:</td>      <td><input type="text" name="Nome" id="Nome" /></td>    </tr>        <tr>      <td> </td>      <td><label>        <input type="submit" name="button" id="button" value="Cadastrar" />      </label></td>    </tr>  </table>    </div>    </div></div><BR /><BR /><div class="art-content-layout">    <div class="art-content-layout-row">    <div class="art-layout-cell" style="width: 100%" >    <%                      'Declarando a variavel de conexao                    Dim Conexao                    'Atribuindo o objeto a variavel de conexao                    Set Conexao = Server.CreateObject("ADODB.Connection")                    'String de conxao para base de dados Mysql                    Conexao.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=localhost; uid=userprovisorio; pwd=passprovisorio; database=bdCamProvisorio"                    'Abrindo a conexao                    Conexao.Open                          'Abre o Recordset                    Set RStipoatos = Server.CreateObject( "ADODB.Recordset" )                    RStipoatos.ActiveConnection = Conexao                    RStipoatos.open "SELECT * FROM tipoatos"                    %>                    <table>                        <tr>                            <td>Nome do Ato</td>                            <td>Excluir</td>                            <td>Alterar</td>                                                    </tr>                    <div id="noticia">                    <h1>ddd</h1>                    </div>                    <%                                                          if not RStipoatos.eof then                                              while not RStipoatos.eof                            %>                                <tr>                                    <td><%=RStipoatos("nometipoatos")%></td>                                    <td><a href="efetivar.asp?acao=excluir&id=<%=RStipoatos("idtipoatos")%>">Excluir</a></td>                                    <td><a href="efetivar.asp?acao=alterar&id=<%=RStipoatos("idtipoatos")%>">Alterar</a></td>                                </tr>                                                                                        <%                                RStipoatos.Movenext                                wend                                end if                                %>                            </table>                                                        <%                                Conexao.close                                Set Conexao = nothing                                Set RStipoatos = nothing    %>   <div id="conteudo"></div>    </div>    </div></div></div></article></div>                    </div>                </div>            </div>    </div></div></body></html> 

este é a página que grava no banco

 

<%'Declarando a variavel de conexaoDim Conexao'Atribuindo o objeto a variavel de conexaoSet Conexao = Server.CreateObject("ADODB.Connection")'String de conxao para base de dados MysqlConexao.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=localhost; uid=o; pwd=rio; database=bio"'Abrindo a conexaoConexao.Open'Funcao para tratar as variaveisFunction Trata_Request(txt)        entrada = replace(txt,"'","")                Trata_Request=entrada           end Function        'Recuperando as variaveis enviadas pelo metodo post        Nome = Trata_Request(server.HTMLEncode(request.Form("Nome")))           'Instrucao SQL para inserir as variaveis        set cadastra = Conexao.execute("INSERT INTO tipoatos(nometipoatos) VALUE('"&Nome&"')")                'Consultar tudo que tem na tabela - Abre o Recordset        Set RStipoalbum = Server.CreateObject( "ADODB.Recordset" )        RStipoalbum.ActiveConnection = Conexao        RStipoalbum.open "SELECT * FROM tipoatos"%>

olá pessoal, será que ninguém vai me ajudar...

por favor, estou ficando doido e não consigo uma solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No jQuery tente fazer isso:

data: {
  nome: Nome
}

Em vez:

data: "Nome="+ Nome + ""

Outra coisa é, você precisa refatorar esse código, está muito complicado para ler.

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gpontes,

Obrigado pela atenção.

Mas não deu certo. Deu erro no código.

deu erro nesta linha: success: function(msg){

Ficou assim:

        //Inicio da funcao        $.ajax({				                //Metodo utilizado                type: "POST",                //Pagina que recebe os daods                url: "EFETIVAR.asp",                //String de dados enviada                data: {  			nome: Nome		}                //Inicio da funcao que requisita a resposta da pagina onde recebeu os dados                success: function(msg){                alert( "Tipo de Atos Cadastrado com Sucesso! " + msg );				alert( "Conteudo antes de enviar para gravar - linha 113: " + Nome );                        //Limpando os valores dos campos                        $("#Nome").val('');                                //$("#Email").val('');  TINHA ESSA LINHA, COMO NÃO TEM ESSE CAMPO, RETIREI						document.getElementById('conteudo').innerHTML = "teste";						$('#noticia').load('pesquisateste.asp h1');                                 }								                        });   						                         });				        });     

alguém???

please

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq faltou uma vírgula

 

                data: {
  			nome: Nome
		},
                success: function(msg){
Não sei o motivo de estar grudando, não manjo de asp. No javascript está tudo certo.

Debugue:

 

http://wbruno.com.br/ajax/como-debugar-ajax-firebug/

 

Ai vc vai ver se está enviando corretamente. Se estiver, então o problema é no ASP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, valeu, agora deu certo

 

coloquei a vírgula no final conforme instruiu o William Bruno e gravou certinho

 

Muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.