Как исправить 500 Internal Server Error при вставке данных в базу данных с помощью Ajax - PullRequest
0 голосов
/ 02 июля 2019

У меня есть вопрос относительно моего модуля вставки. Почему в ответе отображается Внутренняя ошибка сервера 500? Есть ли проблемы на стороне интерфейса?Это означает, что что-то пошло не так на сайте?Но я попробовал на своем модуле обновления контента ajax работает.однако в моем модуле вставки ajax выдает ошибку.почему это происходит?Может ли кто-нибудь помочь мне об этой проблеме?спасибо.

Error

Front End Ajax:

    $(document).ready(function(){
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    const email = localStorage.getItem('email');
    $('#hidden_auth_user').val(email);
    $('.about_psmid_button').on('click',function(){      

        const about_psmid_page = $('#about_psmid_page').val();
        const about_psmid_title = $('#about_psmid_title').val();
        //const about_psmid_content = $('#about_psmid_content').val();
        const hidden_auth_user = $('#hidden_auth_user').val();
        const ck_editor_content =  CKEDITOR.instances['about_psmid_content'].getData();
        const data = new FormData();
        data.append('about_psmid_page',about_psmid_page);
        data.append('about_psmid_title',about_psmid_title);
        data.append('about_psmid_content',ck_editor_content);
        data.append('hidden_auth_user',hidden_auth_user);

        Swal.fire({
            title: 'Are you sure to add this content?',
            type: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#008B74',
            confirmButtonText: 'Okay'
          }).then((result) => {
            if (result.value) {
                $.ajax({
                    url:'./Function/aboutPMSIDAddFunction.php',
                    data:data,
                    type:'POST',
                    dataType:'JSON',
                    processData: false,
                    contentType: false,
                    success:function(response){
                        Swal.fire(
                        'Success!',
                        'Data information has been saved.',
                        'success'
                        )
                        if(response == 'Successfully Inserted') {
                            location.reload();
                        }
                    },
                    error:function(response) {
                        console.log(response);
                    }
                });

            }
        })



    });
});

Back End Php:

    <?php 
    require_once('../ConnectionString/require_db.php');
    session_start();
    //submit function
    if(isset($_POST['about_psmid_page']))
    {
        $about_psmid_page = $_POST['about_psmid_page'];
        $about_psmid_title = $_POST['about_psmid_title'];
        $about_psmid_content = $_POST['about_psmid_content'];
        $hidden_auth_user = $_POST['hidden_auth_user'];
        $now = (new \DateTime())->format('Y-m-d H:i:s');

        $stmt = $db->prepare('INSERT INTO tblcontent (title, content, posted_by, when_inserted, posttype) VALUES (?,?,?,?,?)');
        $stmt ->bind_param('sssss', $about_psmid_title, $about_psmid_content, $hidden_auth_user, $now, $about_psmid_page);
        $stmt ->execute();

        echo json_encode('Successfully Inserted'); 
    }
?>

1 Ответ

1 голос
/ 02 июля 2019

Сначала вам нужно отладить проблему. Самый короткий способ - включить отчеты об ошибках. Вы можете просто добавить эти строки в начало файла php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Однако похоже, что вы не правы в разборе данных JSON. Для получения json данных вы должны получить содержимое php://input

$data = json_decode(file_get_contents("php://input"));

if(isset($data['about_psmid_page'])) {
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...