2017-04-25 4 views
-2

Ich benutzte Ajax, um Daten an den Server zu senden, es funktioniert gut auf localhost, aber ich teste den Code auf einem Online-Server gibt Fehler 500.

Wie löst man das?

$('#btn_publier').click(function (e) { 
    var formdata = new FormData(document.getElementById('post')); 
    var file_data = $('#IMG_CDV').prop('files')[0]; 

    formdata.append('file', file_data); 

    $.ajax({ 
    url: '../wp-content/plugins/Carnet_voyages/publier.php', 
    type: 'post', 
    data: formdata, 
    dataType: 'text', // what to expect back from the PHP script, if anything 
    cache: false, 
    contentType: false, 
    processData: false, 
    success: function (result, statut) { // success est toujours en place, bien sûr ! 
     if (result != "") { 
     alert(result); 
     location.reload(); 
     } 
    }, 
    error: function (resultat, statut, erreur) { 
     alert(erreur); 
    } 
    }); 

    e.preventDefault(); 
}); 
+1

Ein Fehler von 500 bedeutet, dass das Problem in Ihrem PHP-Code ist. Überprüfen Sie den Antworttext oder Ihre Serverprotokolle und hoffentlich wird ein Fehler angezeigt, den Sie diagnostizieren können. –

+1

Kann nicht einen Serverfehler diagnostizieren, indem Sie auf clientseitigem Code schauen – charlietfl

+0

sollte auch den richtigen wordpress Ajax-Endpunkt verwenden ... geht nicht in 'wp-content/plugins' – charlietfl

Antwort

0

Fehler tritt in der Regel 500 von Internal Server Errors

Versuchen 1. Neuladen der Seite, 2. Löschen Sie den Browser-Cache, 3. Cookies Ihres Browsers löschen, 4. Fehlerbehebung als 504 Gateway-Timeout-Fehler stattdessen, oder direkte Berücksichtigung der ordnungsgemäßen Konfiguration Ihres Online-Servers oder Website-Administratoren

Wissen über die möglichen Ursachen auch helfen:

1) Ein Berechtigungsfehler. In den meisten Fällen ist ein 500 Interner Serverfehler auf eine falsche Berechtigung für eine oder mehrere Dateien oder Ordner zurückzuführen. In den meisten Fällen ist eine falsche Berechtigung für ein PHP- und CGI-Skript verantwortlich. Diese sollten normalerweise auf 0775 (-rwxr-xr-x) eingestellt werden.

2) A PHP Timeout. If your script connects to external resources and those resources timeout, an HTTP 500 error can occur. Timeout rules, or better error handling in your script, should help if this is the cause of the 500 error. 

3) A Coding Error in .htaccess. While not as common, be sure to check that your site's .htaccess file is properly structured. 
+0

in meinem Fall, ich denke, mein Problem ist 2), weil ich Datei von der lokalen Ressource auf den Server hochladen müssen; das ist perfekt, wenn man auf localhost testet, aber nicht online! Nun, ich habe keine Erlaubnis zur Serverkonfiguration, ich werde die Administratoren kontaktieren, aber haben Sie eine Idee, was Sie auf dem Server ändern können? –

+0

Der Code, den ich sehe, ist in Ordnung. Ich kann nicht sagen, bis Sie eine Antwort von den Administratoren erhalten haben. Wahrscheinlich könnte es ein Fehler sein, dem sie häufig begegnen. In der Zwischenzeit, stellen Sie sich diese Fragen 1) Vermissen Sie keine Javascript-Plugin-Dateien oder die Plugin-Dateien Pfad ist nicht definiert Sie konfrontiert die 500 internen Serverfehler. 2) Hosting-Server ist Case Sensitive überprüfen Sie die Variablenwerte. 3) Wenn Sie zu Ajax wechseln, bevor Sie den Fluss alarmieren. – 12345678

+0

Nun, ich bin nicht gut mit Ajax erfahren, aber ich verstehe nicht, wenn das Skript auf lokale gearbeitet hat, was ist das Problem dann? lokale und externe Serverarchitektur sind nicht gleich? –

Verwandte Themen