0
I am making an ajax request and returning the data by php with json_encode
server side:
$id=1;
if(isset($_POST['id'])){
$id = $_POST['id'];
}else{
http_response_code(400);
}
$produto = listaAssociada($id);
echo json_encode(listaAssociada($id));
function listed
$query = "SELECT p.nome,p.descricao as produtodescricao,p.img as produtoimg,e.titulo,e.descricao as explicacaodescricao,e.infoadicional,e.img as explicacaoimg FROM Produto as p inner join Explicacao as e on p.idExplicacao=e.idExplicacao where p.idProduto= $id";
$consulta = mysqli_query($mysqli, $query);
if(mysqli_num_rows($consulta) != 0) {
while($item = mysqli_fetch_array($consulta)) {
$resultados['nome'] = $item['nome'];
$resultados['produtodescricao'] = $item['produtodescricao'];
$resultados['explicacaodescricao'] = $item['explicacaodescricao'];
$resultados['titulo'] = $item['titulo'];
}
return $resultados;
}else{
return 0;
}
part of the script
<script type="text/javascript">
$(document).ready(function(){
var produtos;
var i=0;
$.ajax({
type: "POST",
url: "scripts/produto.php",
data:{
id:1
},
error:function(e){
},
success: function(data){
alert(data);
}
});
});
I’ve tried json.parse doesn’t work, I’ve tried foreach too. I want to be able to take the separate values to do for example
var x = data.nome;
Tries putting
dataType:"json",
in Ajax– Sam
when I put dataType:"json", it stopped working, until a simple Alert('hi'); it was giving these two messages on the console: GET http:/localhost/favicon.ico 404 (Not Found) product.php:1 Unchecked Runtime.lastError: The message port closed before a Response was Received.
– Gabriella Selbach
There’s something wrong. You should return a JSON like this:
{nome: "nome do item", produtodescricao: "descricao do produto", explicacaodescricao: "explicacao do produto", titulo: "titulo"}explicacaodescricao: "explicacao do produto"nome: "nome do item"produtodescricao: "descricao do produto"titulo: "titulo"}
– Sam
psé I don’t know if maybe it’s not the way I’m storing in the vector on the php side. but in the script itself I can access as a direct array, I make $product = listAssociated($id); echo $product['name'] . " <br>". and printa straight.
– Gabriella Selbach
What is the jQuery version you are using?
– Cristiano Gilberto João
last version 3.4.1 .
– Gabriella Selbach