javascript - 在Javascript的另一个页面中获取JSON信息

标签 javascript php mysql json

所以我检查了很多例子和很多教程,但由于某种未知的原因,它绝对不适合我。

我已经检查过Get JSON data from another page via JavaScript但它对我来说没有成功。

所以我想要做的是从 MySQL 获取一些信息并将其用于我在另一个 .php 上使用的 Jscript 函数,这意味着将从 mysql (connect.php) 检索到的信息获取到另一个文件 (test.php) ,但是尽管从 connect.php 中正确检索了信息,但它并未移动到其他文件。

这些是我的文件。

连接.php

<?php
mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('dbexample') or die (mysql_error());
$data = mysql_query("SELECT * FROM lugares") 
or die(mysql_error()); 
$arr = array();
while ($obj = mysql_fetch_object($data)) {
   $arr[] = array('latt' => $obj->latt,
               'lng' => $obj->long,
               'nombre' => $obj->nombre,
               'direccion' => $obj->direccion,
    );
 }
 echo '{"users":'.json_encode($arr).'}';
 ?>

测试.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <script type="text/javascript">
      $.ajax({
            type: "POST",
            url:"connect.php",
            async: true,
            success: function(datos){
                var dataJson = eval(datos);

                for(var i in dataJson){
                    alert(dataJson[i].latt + " _ " + dataJson[i].lng + " _ " + dataJson[i].nombre);
                }

            },
            error: function (obj, error, objError){
                //avisar que ocurrió un error
            }
    });
    </script>
    </head>

    <body>
    <p>Super freak</p>
    </body>
    </html>

任何帮助将不胜感激。

编辑:我修改了 test.php 上的脚本,但感觉有些不对劲;我在这里失去了它:(

    <script type="text/javascript">
      $.ajax({
            type: "POST",
            url:"connect.php",
            dataType: "JSON",
            async: true,
            success: function(datos){
                var dataJson = $.parseJSON(datos);

                $.each(dataJson, function(){
                    alert(dataJson.latt + "_"+ dataJson.lng);
                }

            },
            error: function (obj, error, objError){
                //avisar que ocurrió un error
            }
    });
    </script>

谢谢!

最佳答案

有两个问题

  1. 您的返回类型看起来像 connect.php 中编码的 json,因此在 $.ajax 中添加 dataType: JSON
  2. 在 test.php 中,您的成功数据应该是 json 解码为 Jquery,以便您可以使用 $.parseJson(data)

    请引用此[示例]:( http://www.jquerybyexample.net/2012/05/how-to-read-and-parse-json-using-jquery.html )

关于javascript - 在Javascript的另一个页面中获取JSON信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550254/

相关文章:

javascript - 卡片按 Y 轴旋转

javascript - 如果值存在,如何避免将字段设置为空字符串

php - Yii:如何为模型设置唯一的表别名

php - 握手后无法读取客户端发送的数据(sockets php)

php - 在 PHP 7.4 中生成 SOAP 数组

javascript - main.js 中的 applyBindings 用于多个 View 模型

javascript - 获取 html 元素的 onclick 事件的 data-* 属性

mysql - Zend Framework 2 表网关使查询速度变慢

mysql - 保持连接 - mysql

php - 可以将带有 PHP 代码的 'Show MySQL Variables' 放到浏览器上吗?