JQuery AJAX-запрос с JSON в PHP - PullRequest
       1

JQuery AJAX-запрос с JSON в PHP

0 голосов
/ 30 августа 2018

Я пытаюсь отправить JSON в PHP, используя JQuery с AJAX.

Но я всегда получаю следующие ошибки:

jqXHR [object Object]
textStatusparsererror
errThrownSyntaxError: Unexpected end of JSON input

Моя функция:

function randomWithDB()
{
var data= arrayName[Math.floor(Math.random()*coktail_array.length)]; //gets a random value
$.ajax({
        url: "insertRandom.php",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify({test: data}),
        dataType: "json",
        success: function(e) {
            location.reload()
        },
        error: function(e, t, o) {
            alert(data), console.log("jqXHR" + e + data), console.log("textStatus" + t), console.log("errThrown" + o)
        }
    });
}

А как мне получить значение этого JSON на стороне PHP?

<?php
    $dbhost = 'localhost:3306';
    $dbuser = 'root';
    $dbpass = '';
    $dbname = 'mowe';

    $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);

    if(! $conn ) {
    die('Could not connect: ' . mysqli_error());
    }       
?>

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Спасибо всем, я нахожу ошибку.

Должно быть:

var data = .....
var dataPost = {"za": data};
var dataString = JSON.stringify(dataPost);
.....
data: {myData: dataString},
0 голосов
/ 31 августа 2018

использование jQuery для запросов AJAX устарело, вместо этого используйте XMLHttpRequest

var xhr = new XMLHttpRequest();
xhr.open('POST', 'insertRandom.php');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
    if (xhr.status === 200) {
        location.reload();
    } else {  
       console.log("Error");  
    }  
};
xhr.send(JSON.stringify({test: data}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...