2017-01-26 11 views
0

Я пытаюсь использовать AJAX для обновления моей базы данных и всегда получаю внутреннюю ошибку сервера (500). Я не уверен, почему это происходит, слишком ли длинна моя таблица данных ?. На моем сервере localhost это работает, но не в сети.AJAX Post 500 Внутренняя ошибка сервера -

Это мой JS код:

function update_database() { 
    var $1Intro = $('#1Intro').val(); 
    var $1Perspektive = $('#1Perspektive').val(); 
    var $1Rahmung = $('#1Rahmung').val(); 
    var $1Montage = $('#1Montage').val(); 
    var $2Intro = $('#2Intro').val(); 
    var $2Handlung = $('#2Handlung').val(); 
    var $2Perspektive = $('#2Perspektive').val(); 
    var $2Zeit = $('#2Zeit').val(); 
    var $3Intro = $('#3Intro').val(); 
    var $3Zeit = $('#3Zeit').val(); 
    var $3Spielraum = $('#3Spielraum').val(); 
    var $3Rolle = $('#3Rolle').val(); 
    var $3Regeln = $('#3Regeln').val(); 
    var $3Netzwerk = $('#3Netzwerk').val(); 
    var $01Done = $('#01Done').val(); 
    var $02Done = $('#02Done').val(); 
    var $03Done = $('#03Done').val(); 
    var $0Intro = $('#0Intro').val(); 
    var $0Fin = $('#0Fin').val(); 
    var $Position = $('#Position').val(); 
    var $MobileUser = $('#MobileUser').val(); 
    var $usr = $('#User').val(); 

    $.ajax({ 
    type: 'POST', 
    url: './gameengine/dataform-to-database.php', 
    data: '1_Intro=' + $1Intro + '&1_Perspektive=' + $1Perspektive + '&1_Rahmung=' + $1Rahmung + '&1_Montage=' + $1Montage + '&2_Intro=' + $2Intro + '&2_Handlung=' + $2Handlung + '&2_Perspektive=' + $2Perspektive + '&2_Zeit=' + $2Zeit + '&3_Intro=' + $3Intro + '&3_Zeit=' + $3Zeit + '&3_Spielraum=' + $3Spielraum + '&3_Rolle=' + $3Rolle + '&3_Regeln=' + $3Regeln + '&3_Netzwerk=' + $3Netzwerk + '&0_1Done=' + $01Done + '&0_2Done=' + $02Done + '&0_3Done=' + $03Done + '&0_Intro=' + $0Intro + '&0_Fin=' + $0Fin + '&Position=' + $Position + '&usr=' + $usr + '&MobileUser=' + $MobileUser, 
    cache: false, 
    error: function(e){ 
     console.log(e); 
     }, 
     success: function(response){ 
     //alert(response); 
     } 
    }); 
} 

Я надеюсь, что у вас есть какие-нибудь идеи :)

P.S .: вот мой PHP код, а также: Tnax для участия!

<?php 
require('../includes/config_o.php'); 

if(isset($_POST["usr"])) 
{ 

    $stmt = $db->prepare('UPDATE userdata SET 1_Intro = :1_Intro, 1_Perspektive = :1_Perspektive, 1_Rahmung = :1_Rahmung, 1_Montage = :1_Montage, 2_Intro = :2_Intro, 2_Handlung = :2_Handlung, 2_Perspektive = :2_Perspektive, 2_Zeit = :2_Zeit, 3_Intro = :3_Intro, 3_Zeit = :3_Zeit, 3_Spielraum = :3_Spielraum, 3_Rolle = :3_Rolle, 3_Regeln = :3_Regeln, 3_Netzwerk = :3_Netzwerk, 0_1Done = :0_1Done, 0_2Done = :0_2Done, 0_3Done = :0_3Done, 0_Intro = :0_Intro, 0_Fin = :0_Fin, Position = :Position, MobileUser = :MobileUser WHERE iUserID = :User'); 
    $stmt->execute(array(
     ':1_Intro' => $_POST["1_Intro"], 
     ':1_Perspektive' => $_POST["1_Perspektive"], 
     ':1_Rahmung' => $_POST["1_Rahmung"], 
     ':1_Montage' => $_POST["1_Montage"], 
     ':2_Intro' => $_POST["2_Intro"], 
     ':2_Handlung' => $_POST["2_Handlung"], 
     ':2_Perspektive' => $_POST["2_Perspektive"], 
     ':2_Zeit' => $_POST["2_Zeit"], 
     ':3_Intro' => $_POST["3_Intro"], 
     ':3_Zeit' => $_POST["3_Zeit"], 
     ':3_Spielraum' => $_POST["3_Spielraum"], 
     ':3_Rolle' => $_POST["3_Rolle"], 
     ':3_Regeln' => $_POST["3_Regeln"], 
     ':3_Netzwerk' => $_POST["3_Netzwerk"], 
     ':0_1Done' => $_POST["0_1Done"], 
     ':0_2Done' => $_POST["0_2Done"], 
     ':0_3Done' => $_POST["0_3Done"], 
     ':0_Intro' => $_POST["0_Intro"], 
     ':0_Fin' => $_POST["0_Fin"], 
     ':Position' => $_POST["Position"], 
     ':User' => $_POST["usr"], 
     ':MobileUser' => $_POST["MobileUser"] 
    )); 

} 

?> 
+1

Как сказано в сообщении об ошибке, это ошибка сервера (код 500). Таким образом, ошибка более вероятна в коде PHP –

+0

, вероятно, это не решение, но я думаю, что вы можете (должны?) Иметь 'данные: { '1_Intro': $ 1Intro, '1_Perspektive': $ 1Perspektive, // ... и т. д. } ' –

+0

' мой список данных слишком длинный' - кто может сказать ... как «большой» - тело запроса? –

ответ

0

500 - это ошибка сервера.

Возможно, ваш настоящий URL без точки?

url: '/gameengine/dataform-to-database.php', 

Или у вас есть ошибка в php-скрипте. Затем покажите код

+0

, если URL был неправильным, не ошибка ли 404? –

+0

@JaromandaX это зависит от конфигурации –

+0

Но, вероятно, есть ошибка в скрипте –

0

В вашем AJAX: ../ в URL, если вы хотите к предыдущей папке, имеющей gameengine/dataform-to-database.php

также отправить данные в объект format.Like это ..

data = {$1Intro:$('#1Intro').val(),$1Perspektive:$('#1Perspektive').val(),...so on } 

AJAX

$.ajax({ 
    type: 'POST', 
    url: '../gameengine/dataform-to-database.php', 
    data: data, 
    cache: false, 
    error: function(e){ 
     console.log(e); 
     }, 
     success: function(response){ 
     //alert(response); 
     } 
    }); 
+0

, если URL-адрес был неправильным, не ошибка 404? –

+0

, пожалуйста, не могли бы вы объяснить, когда происходит 505 ошибок? –

+0

505 означает, что 'версия HTTP не Supported' - но это совершенно не имеет значения –

0

Таким образом, я думаю, что я как-то решил его, вернув мою версию php на 5.5. Не настоящее решение, но теперь оно работает.

Редактировать: не совсем ... просто больше не получайте ошибок. все еще не работает