ilch Forum » Allgemein » HTML, PHP, SQL,... » XHTML Request Probleme - Ajax send

Geschlossen
  1. #1
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    Hi leute,

    ich versuche gerade ein Formular mit ajax an eine PHP Seite zu senden um dann eine E-Mail zu verschicken.

    jetzt ist es so dass die Anwendung local auf meinem localhost:9000 läuft ...
    und ich das zugehörende php-mailing aber auf meinem webserver habe.

    jetzt bekomme ich logischer weise folgende fehlermeldung:

    No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost:9000' is therefore not allowed access.


    was kann ich tun damit das funzt? kann ich die Sicherheitsfreatures deaktivieren?


    PHP liest einfach mit GET oder POST das formulr aus und schickt ne mail (ohne ajax läuft das)

    und dann wird so das form abgeschickt:

    $(document).ready(function(){
                    $("#contactform").submit(function(e){
                        e.preventDefault();
                        $.post("fremderSERVER/SLF_contact.php",$("#contactform").serialize(),function(msg){
                            alert(msg);
                          });
                    });
                });


    jemand ne idee?
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja man kann ajax Anfragen nur an den eigenen Server schicken oder an welche, wo der er freigeschaltet wurde dies zu tun.

    Die Frage für mich ist, wer ist der Fremdserver?
    Dort könnte man "konfigurieren", wer Anfragen schicken darf.

    Meiner Meinung nach kannst du aber "einfach" die Anfrage an deinen eigenen Server schicken und dieser kann dann den POST an den anderen Server absetzen, falls es wirklich notwendig ist.

    Was mich irgendwie immer etwas wundert bei dir, wenn du mit Google gesucht hättest, würdest du schneller zu einem Ziel kommen.

    www.google.de/search?q=Access-Control-Allow-Origin
    -> de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
    -> stackoverflow.com/questions/1653308/access-control-allow-origin-multiple-origin-domains
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    danke für den wahnsinnigen tip mit google die seite kannte ich noch gar nicht .... muss ich mir mal genau anschauen was man da so machen kann ... hört sich cool an

    [ironie aus]

    ne spass .. ichhab natürlich google bereits benutzt ...
    es war gestern ein langer tag und ich hatte kein bock mehr zu suchen ich hab nur noch gepostet und bin ins bett gefallen zwinker

    der versuch sowas hier zu machen :Access-Control-Allow-Origin: localhost:9000 z.B. war ergebnislos .... hatte ich oben vergessen zu erwähnen sry

    also ich hab das versucht per php mit header zu setzen.


    Zuletzt modifiziert von holz am 22.05.2014 - 08:01:04
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dass muss natürlich bei dem Server überprüft werden, der die Anfrage erhält, dieser entscheidet ja, ob er sie bearbeitet, und dort muss dann auch im Header der anfragende Host angegeben sein. -> Wird in den Links erklärt.

    Der Browser überprüft dann die Header mit dem Absender.

    Hast du das so gemacht? (Es geht natürlich nur, wenn man Zugriff auf den angefragenten Host hat)


    Zuletzt modifiziert von Mairu am 22.05.2014 - 21:43:00
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Pion Hall Of Fame
    Registriert seit
    25.07.2007
    Beiträge
    870
    Beitragswertungen
    51 Beitragspunkte
    Alternativ kannst du einfach einen Iframe nehmen, dann stört dich "Access-Control-Allow-Origin" weniger.

    Sprich du machst einen hidden-iframe. Setzt im Formular das target="" auf den Iframe - Namen

    ODER

    Alternativ machst du einen Ajax auf einer deiner Dateien auf deinen Server, welcher wiederum mit PHP die Datei zb aufruft.


    Zuletzt modifiziert von Pion am 22.05.2014 - 12:53:12
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja mairu so hatte ich es eigentilch ... hat aber nicht funktioniert.

    pion iframe finde ich nicht schön lächeln


    hab es mittlerweile gelöst.

    ich ruf von meiner view jetzt im controller eine JAVA funktion auf die im model dann die PHP datei lädt und die parameter übergibt so komm ich um den ajax call rum und hab keine probleme


    danke trotzdem
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Pion Hall Of Fame
    Registriert seit
    25.07.2007
    Beiträge
    870
    Beitragswertungen
    51 Beitragspunkte
    ZitatZitat geschrieben von holz
    pion iframe finde ich nicht schön lächeln


    Wieso was hat er dir gemacht?
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten