gpt4 book ai didi

javascript - 我无法从我的 PHP 文件中接收 JS 数据

转载 作者:行者123 更新时间:2023-11-30 15:43:16 29 4
gpt4 key购买 nike

我一直在尝试使用 AJAX、JS、JSON 和 PHP 接收信息。上下文如下:

我有一个 JS 文件,我从这个文件发送一个 id,它接收一个 PHP 文件并且这个文件进行一些查询,其中的数据存储在一个对象中并发送到一个 JS 文件以更新一些属性HTML。我可以正确地将 id 从 JS 发送到 PHP。然后,我检查了我是否也可以将查询信息中的信息正确地传递给 PHP 对象。

这就是问题所在...当我收到 JS 文件中的数据并将此信息传递给 eval() 函数时,它给我一个错误。

注意事项:

  • 当我取出 eval 函数时,我无法访问属性,因为它声明为“未定义”。

  • 这很奇怪,但是当我打印参数“datos”(带有 alert ())时,会正确显示所有请求的信息。

  • 我的英语说得不是很好,请原谅我的句法和语义错误。

infoAction.php

<?php
include 'sitioTuristico.php';

$id = $_GET['id'];

$sitio = new sitioTuristico("SI01");

if($sitio->getID_SI()=="INEX"){
print "The place doesn't exist";
exit;
}

$response = new stdClass();

$response->ID_SI = $sitio->getID_SI();
$response->URL = $sitio->getURLS();
$response->Nombre = $sitio->getNombre();
$response->Descripcion = $sitio->getDescripcion();
$response->Promedio_nota = $sitio->getPromedio_Nota();
$response->Nombre_Cat = $sitio->getNombre_Cat();
$response->Nombre_Ciu = $sitio->getNombre_Ciu();


/* i tried this way too
$arr = array('ID_SI' => $sitio->getID_SI(),
'URL' => $sitio->getURLS(),
'Nombre'=> $sitio->getNombre(),
'Descripcion'=> $sitio->getDescripcion(),
'Promedio_nota'=> $sitio->getPromedio_Nota(),
'Nombre_Cat' => $sitio->getNombre_Cat(),
'Nombre_Ciu' => $sitio->getNombre_Ciu());
*/
echo json_encode($response);

?>

info-turistica-info.js

$(document).ready(function(){
$.ajax({
type: "GET",
url: "php/indexAction.php",
data: { id:loadData() },
async: true,
success: function(datos){

var dataJson = eval(datos); **//here throws an error**
alert(datos); **//It print all the information correctly**
alert(datos.ID_SI); **//It print "undefined"**

$('img[name=imagenPrincipal]').attr("src",dataJson[i].URL[0]);
$('img[name=imagenPrincipal]').attr("id",dataJson[i].ID_SI);

},

最佳答案

您正在使用 dataJson[i].URL[0] 并且您甚至没有在任何地方定义“i”。也永远不要使用 eval,因为根据 Douglas Crockford 的说法,eval === evil。使用 JSON.parse(datos) 然后执行此操作:

$('img[name=imagenPrincipal]').prop("src",dataJson.URL);
$('img[name=imagenPrincipal]').prop("id",dataJson.ID_SI);

希望对您有所帮助!

关于javascript - 我无法从我的 PHP 文件中接收 JS 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40455063/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com