【问题标题】:MySQL/PHP to jQuery via AJAXMySQL/PHP 通过 AJAX 到 jQuery
【发布时间】:2014-12-15 11:32:51
【问题描述】:

我正在通过 PHP 在 mysql 数据库中保存高分。我需要将分数发送回我的应用,但它不起作用。

这是我第一次使用 PHP 和 JSON.. 所以这是我的代码

PHP:

   <?php 
    $server = "...";
    $user = "...";
    $pass = "...";
    $bd = "...";

    $conexion = mysqli_connect($server, $user, $pass,$bd) 
    or die("Ha sucedido un error inexperado en la conexion de la base de datos");

    $sql = 'SELECT * FROM table_one ORDER BY score DESC LIMIT 10';

    if(!$result = mysqli_query($conexion, $sql)) die();
    $scores = array(); 
    while($row = mysqli_fetch_array($result)) 
    { 
        $name=$row['name'];
        $score=$row['score'];
        $scores[] = array('name'=> $name, 'score'=> $score);
    }
    $close = mysqli_close($conexion) 
    or die("Ha sucedido un error inexperado en la desconexion de la base de datos");

    $json_string = json_encode($scores);
    header('Content-Type: application/json');
    echo $json_string;
 ?>

JQUERY

$.ajax({
                method: 'GET',
                url: 'score2.php',
                dataType: 'json',
                success: function(result) {
                var data = jQuery.parseJSON(result);
                console.log(data);

                }

有什么帮助吗?

【问题讨论】:

  • 你认为哪一部分不工作?
  • PHP 中不需要 header('Content-Type: application/json'); 行,也不需要在 jQuery 中解析结果。将 dataType 设置为 JSON 意味着 jQuery 会自动为您解析结果。
  • 结果的状态如何? 200!! ajax 调用的响应是什么!?。

标签: jquery mysql ajax json


【解决方案1】:

首先,您可以从 PHP 中删除 header('Content-Type: application/json'); 行,您根本不需要它。

在您的 JavaScript 中,您不需要使用 $.parseJSON 解析结果,因为通过将 dataType 字段设置为 JSON,您是在告诉 jQuery 您需要一个 JSON 字符串作为结果,因此它会自动解析结果为你。试试这个:

$.ajax({
    method: 'GET',
    url: 'score2.php',
    dataType: 'JSON',
    success: function(data) {
        console.log(data);
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2013-03-28
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多