Tengo dificultades para analizar la fecha JSON de mi archivo PHP
{"date":"20\/12\/2022","result":"£13000.00","medias":"BBC","country":"UK"}pero cuando trato de analizarlo y ver los datos en el archivo console.log, está vacío
Por favor ayuda
Mi función Ajax
function ajax_call(){ const style2 = $("#style1").val(); const radio_btn = $('input[name="drone"]:checked').val(); if(style2==""){ document.getElementById("error").innerHTML = "Error: Please enter style code !"; return false; } { $.ajax({ type: 'post', url: "t.php", data: { styles: style2 , country: radio_btn}, dataType: "json", success: function(data){ var jsondata = $.parseJSON(data); console.log(jsondata); } }) } }mi php
<php header('Content-type: application/json'); $date = "20/12/2020"; $end_result = "£13000.00"; $medias = "BBC"; $country = "UK"; $sortjson = array('date' => $date, 'result' =>iconv('Windows-1252', 'UTF-8', $end_result), 'medias' => $medias, 'country' => $country ); echo json_encode($sortjson, JSON_UNESCAPED_UNICODE); ?>Creo que hay un error tipográfico en el código PHP, debe cambiar la primera línea de:
<phpa
<?php Si la primera línea es <php , la salida no será un JSON válido.
Código PHP completo:
<?php header('Content-type: application/json'); $date = "20/12/2020"; $end_result = "£13000.00"; $medias = "BBC"; $country = "UK"; $sortjson = array('date' => $date, 'result' =>iconv('Windows-1252', 'UTF-8', $end_result), 'medias' => $medias, 'country' => $country); echo json_encode($sortjson, JSON_UNESCAPED_UNICODE); ?>Además, no estoy 100% seguro de que necesite la llamada iconv, puede probar el siguiente código:
<?php header('Content-type: application/json'); $date = "20/12/2020"; $end_result = "£13000.00"; $medias = "BBC"; $country = "UK"; $sortjson = array('date' => $date, 'result' => $end_result, 'medias' => $medias, 'country' => $country); echo json_encode($sortjson, JSON_UNESCAPED_UNICODE); ?>Tienes que usar JSON.parse()
function ajax_call(){ const style2 = $("#style1").val(); const radio_btn = $('input[name="drone"]:checked').val(); if(style2==""){document.getElementById("error").innerHTML = "Error: Please enter style code !"; return false;} { $.ajax({ type: 'post', url: "t.php", data: { styles: style2 , country: radio_btn}, dataType: "json", success: function(data){ var jsondata = JSON.parse(data); console.log(jsondata); } }) } }Tienes un error en tu método Success :
use el método JSON.parse() en lugar de $.parseJSON()
success: function(data){ var jsondata = JSON.parse(data); console.log(jsondata); }