Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, estou com um grande problema.
Estou tentando enviar via post um comando para fazer uma busca via mysql com jquery post.
Por exemplo, eu tenho 2 campos um entrará a url o outro entrará o json, e em outra div eu gostaria que retorna-se os dados buscados. Eu tenho a url: search_clientes.php e envio uma requisição com json para mostrar os usuarios através de um $.post.
Segue abaixo o meu código:
HTML:
<div id="form1" class="send">
<p>URL:<input type="text" name="url2" id="url2" /></p>
<p> JSON:<textarea name="json" id="json" cols="45" rows="5"></textarea></p>
<p><input type="submit" class="button" name="send" value="send" id="send" /></p>
</div>
<div id="status">
RETORNO:
<!-- <textarea name="comment" id="comment" cols="45" rows="5"></textarea> -->
</p>
</div>
Jquery POST:
$(function(){
$("#send").click(function() {
var json = $.parseJSON($("#json").val());
var url2 = $("#url2") .val();
$.post(url2,json,function(data){
$('div#status').html(data);
});
});
});
PHP Code:
include ('conection.php');
$data = $_POST['send'];
$arr = json_decode($data);
//$arr = json_decode($_POST['json']);
$result = mysql_query("SELECT * FROM clientes WHERE client_descricao='".$arr[0]['client_descricao']."' OR client_razaosocial ='".$arr[0]['client_razaosocial']."' OR client_endereco ='".$arr[0]['client_endereco']."' OR client_cidade ='".$arr[0]['client_cidade']."' OR client_estado ='".$arr[0]['client_estado']."' OR client_telefone ='".$arr[0]['client_telefone']."'")or die(mysql_error());
$json = mysql_fetch_array($result, MYSQL_ASSOC);
echo json_encode($json);
Por favor me ajudem, estou a três dias tentando fazer isto e não consigo :(.
Gostaria que os dados aparecessem na div status.
Por favor gente.
experimenta usar o <form method=post> apos a sua div form1
function Enviar(){
var dados = $.ajax(function(){
type:"POST",
url: "pagina.php",
data: { $("#campo1").val(),$("#campo2").val()},
beforesend(function(){
//o que vai acontecer depois que enviar
})
});
dados.done(function(htm){
$("#dive_recebe").html(htm);
});
dados.fail(function(){
alert('fail');
});
}Até onde eu sei, na linha:
data: { $("#campo1").val(),$("#campo2").val()},
Você precisa especificar o nome das variáveis, algo assim:
data: { campo1: $("#campo1").val(), campo2: $("#campo2").val()},
Aí no PHP você recupera normalmente:
$campo1 = $_POST['campo1'];
$campo2 = $_POST['campo2'];
Você também pode utilizar o serialize() no formulário submetido... :assobiando:Paulo Posso ter esquecido pois digitei isso em um minimo de tempo vago que tive na empresa, sem mais! Até...
Bom, então corrija e tente novamente... Depois nos avise o que aconteceu...
:joia:
obs: você está fechando a div status com a tag P
O problema está no javascript ou no PHP?
para saber se esta sendo realizada a consulta ao PHP e qual o resultado, utilize o inspetor de elemento ("CTRL+SHIFT+i" no Google Chrome ou Opera, no Firefox eu não tenho certeza, mas se não for esse é outro atalho)
No inspetor de elemento selecione a aba "Network", lá você verá todas as requisições realizadas, mesmo as que foram por AJAX, clicando na requisição você poderá ver o que foi retornado.
Agora, o problema também pode ser no javascript, nesse caso você pode selecionar a aba "console" que ele vai te mostrar o erro, para debugar o javascript eu recomendo o Opera, você vai ver o erro na aba script do inspetor de elemento do Opera.
Se você conseguir ver a resposta do seu ajax nos informe aqui