v2.5.2
Giriş yap

ajax php response

rodeiun
545 defa görüntülendi ve 1 kişi tarafından değerlendirildi
$.ajax({
    type: "POST",
    url: "update.php",
    data: {
        type: "banadd",
        gun: $('#banguninp').val(),
        sebep: $('#bansebepinp').val()
    },
    cache: false,
    dataType: "json",
    success: function(resp)
    {
        console.log(resp);
    },
    error: function(xhr, status, error) 
    {
        console.error(xhr);
    }
});

Merhabalar bu şekilde bir ajax methoduyla post işlemi yapıyorum.

if(!empty($_POST) && $_POST['type'] == "banadd")
{
    session_start();
    $gun = $_POST['gun'];
    $sebep = $_POST['sebep'];
    $gunx = 0;
    if($gun != 0) $gunx = time()+$gun*86400;
    $qstr = "INSERT INTO `bans` (`Banlayan`, `Banlanan`, `IP`, `Sure`, `Tarih`, `Sebep`, `Serial`, `Latitude`, `Longitude`) VALUES ('Rodeiun', '".$_SESSION['dIsim']."', '".$_SESSION['dIP']."', '". $gunx ."', '".date("d/m/Y H:i")."', '".$sebep."', '".$_SESSION['dSerial']."', '".$_SESSION['dLat']."', '".$_SESSION['dLong']."')";
    $query = $db->prepare($qstr);
    $query->execute();
    $array["sonuc"] = "#".$db->lastInsertId()." numarali yasaklama veritabanina kaydedildi.";
    session_unset();
    session_destroy();
    echo json_encode($array);
}

PHP üzerindede bu şekilde postu işleme koyup geri yanıt veriyorum. Ama console da işler biraz farklı:


ajax seçeneklerinden dataType: "json" u kaldırdığımda

```html
<!DOCTYPE html>
        <html lang = "en">
            <head>
                <title>KARDESLER SCP PANELI - DUZENLE</title>
                <meta charset="UTF-8">
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
                <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
                <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css">
                <link rel="stylesheet" href="css/index.css">
                <script src = "https://code.jquery.com/jquery-3.6.0.js"></script>
                <script>
                    $(document).ready(function()
                    {
                        $("#ban-ekle").on('click', function(e)
                        {
                            e.preventDefault();
                            $.ajax({
                                type: "POST",
                                url: "update.php",
                                data: {
                                    type: "banadd",
                                    gun: $('#banguninp').val(),
                                    sebep: $('#bansebepinp').val()
                                },
                                cache: false,
                                success: function(resp)
                                {
                                    console.log(resp);
                                },
                                error: function(xhr, status, error) 
                                {
                                    console.error(xhr);
                                }
                            });
                        });
                    });
                </script>
            </head>
            <body>
{"sonuc":"#30 numarali yasaklama veritabanina kaydedildi."}            </body>
        </html>
```
console da bu sonuçları görüyorum.

Ben nasıl bu sonuçu çekebilirim jquery de?
trsherlock
1224 gün önce

Php'nin döndürmüş olduğu json çıktısı string olur. Değerlere ulaşman zor.
O yüzden gelen veriyi let newResp = JSON.parse(resp) kullanıp değerlere ulaşacaksın.
Ya da dataType: "json" eklemen gerekecek. Bu da seni yukarıdaki kodu yazmandan kurtarıyor.

dataType: "json" olursa;

$.ajax({
    dataType: "json",
    success function(jsResp) {
        // {"sonuc":"#30 numarali yasaklama veritabanina kaydedildi."} gelen sonuca göre
        console.log(jsResp.sonuc) // veya
        $("div.alert.alert-success").html(jsResp.sonuc) // bootstrapp uyarılarına yansımasını istiyorsan.
    }
})

dataType: "json" olmazsa;

$.ajax({
    success function(resp) {
        // {"sonuc":"#30 numarali yasaklama veritabanina kaydedildi."} gelen sonuca göre
        let jsResp = JSON.parse(resp)
        console.log(jsResp.sonuc) // veya
        $("div.alert.alert-success").html(resp.sonuc) // bootstrapp uyarılarına yansımasını istiyorsan.
    }
})

Sen nasıl kullanmak istiyorsun?