在Ajax调用和PHP脚本中发送GET

时间:2017-01-08 11:25:04

标签: php ajax get

我想从表单中发布数据。它工作正常。 在其他功能中,我想从数据库中获取数据。

我不知道哪里出错了。我怀疑AJAX调用很好。

我的PHP代码:

<?php

$uuid = $_POST['uuid'];
$minor = $_POST['minor'];
$mayor = $_POST['mayor'];
$lokalizacja = $_POST['lokalizacja'];

$servername = "";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} else{
    echo "Polaczono";
}

$sql = "INSERT INTO beacons (uuid, major, minor, lokalizacja)
VALUES ('$uuid', '$minor', '$mayor', '$lokalizacja')";

if ($conn->query($sql) === TRUE) {
    echo "Dane dodano prawidłowo";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$sqlget = "SELECT uuid, major, minor, lokalizacja FROM beacons";
$result = $conn->query($sqlget);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo json_encode(array("value" => "UUID: " . $row["uuid"]));
    }
} else {
    echo "Brak rekordów w bazie";
}

$conn->close();
?>

AJAX电话:

$('#admin').submit(function(e){
    e.preventDefault();

    if( ($("input[name=uuid]").val().length) > 40 || ($("input[name=minor]").val().length) > 5 || ($("input[name=mayor]").val().length) > 5 || ($("input[name=lokalizacja]").val().length) > 20){
        $(".error-pola").show();
    } else{
        $.post('administrator-connect.php', $(this).serialize() )
        .done(function(){
            $(".success-wyslanie").show();
        })
        .fail(function(){
            $(".error-wyslanie").show();
        });
    }
});

$(document).ready(function() {
    $.ajax({
        type: "GET",                                    
        url: 'administrator-connect.php',
        dataType: 'json',
        success: function(data)
        {
            alert("fsdfsd"+ data);
        },

        error: function(){
            alert("not");
        }
    });
});

我正在使用:

echo json_encode(array("UUID" => $row["uuid"]));

和ajax:

var jqxhr = $.get( "administrator-get.php", function(data) {
  var jsonx = JSON.parse(JSON.stringify(data));
  $( "#data-listing" ).html(jsonx);
});

但我得到回应:

{&#34; UUID&#34;:&#34; B9407F30-F5F8-466E-AFF9-25556B57FE6D&#34;}

如何只获得字符串?

1 个答案:

答案 0 :(得分:0)

如果你写这个

dataType: 'json',

期望JSON值不是字符串,请确保只返回JSON。

您返回的字符串值不是JSON。

像这样的代码

 echo "Polaczono";

任何echo都是ajax的返回值

最后你应该只返回一个像这样的值。

    echo json_encode($result);//an array result

您可以通过字符串返回来检查。删除dataType