JQuery - Post

  • JavaScript

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von deepack.

    JQuery - Post

    hallo comunity
    ich habe mal wieder eine Frage...

    ich möchte im DevelooperTool vom Chrome eine fremde PHP Datei aufrufen - Post.

    an der funktion liegt es denke ich nicht da ich folgende rückmeldung erhalten

    Quellcode

    1. XMLHttpRequest cannot load http://www.....php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'Seite' is therefore not allowed access.


    es macht keinen unteschied ob ich $.Post oder mit $.ajax Post arbeite.

    habt ihr eine Idee wie ich in diesem Punkt weiterkomme?
    fx
    Wenn ich nicht komplett falsch liege, müsste der Server auf den du zugreifst den Access-Control-Allow-Origin Header gesetzt haben.
    Auf der Zieldomain müsste also in der .htaccess Datei ungefähr folgendes stehen:

    Quellcode

    1. Header add Access-Control-Allow-Origin "*"
    2. Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    3. Header add Access-Control-Allow-Methods "POST"


    Ich vermute mal, dass der wohl aus gutem Grund nicht gesetzt ist.
    hallo
    erstmal danke für deine Mitteilung.

    die Zieldomain ist meine eigene :)
    ich habe nur davon leider keine ahnung - ich benötige php und die domain nur als schnittstelle

    nach dem erstellen der Datei mit deinem vorschlag funktioniert es eigentlich
    nur werden die werte nicht übergeben :(

    Quellcode

    1. $.post( "http://www.domain.net/datei.php", { Name: "John", Wert: "1"} );


    SplittyDev schrieb:

    Ich vermute mal, dass der wohl aus gutem Grund nicht gesetzt ist.

    warum? wofür ist denn das bzw was kann man anstellen wenn es so gesetzt ist??


    vielen dank für deine hilfe
    fx
    Unter Wiki: Same-Origin-Police findest du eig. alles weitere, hättest du aber mit ein bisschen nachdenken und Eigeninitiative auch selbst finden können.

    Noch ein Link den man findet wenn man nach der Fehlermeldung sucht:
    ST: No 'Access-Control-Allow-Origin' header is present on the requested resource
    Wenn die Zieldomain deine eigene ist kannst du einfach die .htaccess-Datei erstellen und folgendes reinschreiben:

    Quellcode

    1. Header add Access-Control-Allow-Origin "*"
    2. Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    3. Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"


    Das sollte deine Probleme lösen.

    Falls die Domain nicht deine wäre gäbe es vermutlich nen guten Grund, das nicht zu machen:
    Denn die wenigsten Seitenbetreiber wollen, dass man einfach mal so POST-Daten an die Domain senden kann ^^


    @slice Vielen Dank für die Korrektur!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SplittyDev“ ()

    @SplittyDev das ist so nicht ganz richtig, es geht nicht darum das ein Seitenbetreiber verhindern will das man beliebig POST Requests an seine Domain schickt (da hilft SOP absolut nicht), es geht darum das die Origin übereinstimmt. JS hat übers DOM direkten zugriff auf die Kommunikation zwischen Client/Browser und Server und kann so die Daten auslesen bzw. manipulieren. Mit SOP soll verhindert werden das Scripte aus einem anderen Kontext darauf zugreifen können.
    Du solltest dir am besten auch mal den Wiki Artikel durchlesen.
    Vielen dank an alle!

    ja mit der .htaccess datei hat es wunderbar funktioniert

    nur den teil bekam ich gestern nicht so richtig zum laufen.
    $.post( "http://www.domain.net/datei.php", { Name: "John", Wert: "1"} );

    $.post( "http://www.domain.net/datei.php?Name=John&Wert=1");
    geht es wie ich es mir vorstelle :)


    wiegesagt nochmals danke für die infos und hilfen
    lg
    fx