JavaScript Ajax: Anfrage an andere Domain ?

xep22

Banned
Registriert
Apr. 2018
Beiträge
395
ich nutze folgendes JS um per Button klick die Antwort direkt ohne Neuladen auf der Seite auszugeben :

Code:
$(function(){
    var form=$('#form');
    var formMessages=$('#result');
    $(form).submit(function(e){
        e.preventDefault();
        var formData=$(form).serialize();
        $.ajax({
            type: 'POST',
            url: 'https://example.com/api.php',
            data: formData
        })
        .done(function(response){
            $("#btn").attr("disabled", true);
            $(formMessages).html(response);
        })
        .fail(function(data){
            $("#btn").attr("disabled", false);
            $(formMessages).html(data.responseText);
        });
    });
});

bis jetzt nutzte ich das immer lokal, jetzt will ich die .php von meiner anderen Domain nutzen. doch erhalte immer die ausgabe von der Function "fail". Gerade bemerkt, dass es geht wenn die api.php lokal liegt... geht das nicht so wie ich es vorhabe oder wie?
 
Du meinst es ist unwichtig, was die "fail" als Fehlermeldung ausgibt?
Steht da vielleicht so etwas drin:Origin ... is not allowed by Access-Control-Allow-Origin
 
Doch, das geht. Du musst die Cross-Origin-Header richtig setzen.

Lg
 
  • Gefällt mir
Reaktionen: Lawnmower
wo finde ich die logs dazu? in den Logs von apache steht da nichts...
 
Oder du richtest dir in Apache einen Forward-Reverse-Proxy ein oder du nutzt einen Cors-Proxy: https://github.com/Rob--W/cors-anywhere/blob/master/README.md

Die Logs in Apache siehst du auch nicht, da dein Browser den Request abwürgt und du gar nicht so weit kommst. Den Fehler siehst du in der JavaScript Konsole im Browser.
 
  • Gefällt mir
Reaktionen: Lawnmower
Code:
header("Access-Control-Allow-Origin: *");

folgenden Code mal testweise im Kopf deiner .php Datei einfügen.
Die Dev-Tools des Browsers sollte dir die Fehlermeldung allerdings direkt auswerfen.
 
  • Gefällt mir
Reaktionen: kim88
Zurück
Oben