SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




PHP Funktion aus Javascript aufrufen

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
70 Beiträge
NHDP erstellt 26 Feb. 2014 10:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe folgende Frage;

ich habe eine SharePoint Seite in der ich mittels Javascript gerne eine PHP Seite aufrufen möchte, die mir Daten zurückliefert und die ich dann auf der SharePoint Seite anzeigen lassen kann; habe dazu gelesen, dass es mittels Ajax und einem XMLHTTPRequest funktionieren müsste (ich schicke also einen Request an den Sever) aber leider bekomme ich immer die Meldung  das der Status (request.readySate) = 0 ist;

Kann es sein, dass ich keinen Request (mit JavaScript) senden kann, weil der SharePoint auf einem eigenen Server liegt und die php Seite/n ebenfalls auf einem anderen Server?

Wenn dies das Problem ist, wie kann ich sonst eine Request an eine php Seite senden?

Danke für Infos und Hilfestellungen.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Feb. 2014 10:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="NHDP"]Kann es sein, dass ich keinen Request (mit JavaScript) senden kann, weil der SharePoint auf einem eigenen Server liegt und die php Seite/n ebenfalls auf einem anderen Server?[/quote]

Das nennt sich Cross Site Scripting und wird von allen Browsern verhindert.

Du kannst entweder die Funktion innerhalb von SharePoint nachbauen (und auf den Request ganz verzichten) oder der Request muß serverseitig erfolgen. Dazu gäbe es dann sehr viele Möglichkeiten, die aber immer mit SharePoint-Entwicklung zu tun haben (eigener Webservice, eigene Seite, eigenes Webpart, ...)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
70 Beiträge
NHDP Als Antwort am 26 Feb. 2014 11:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke mal für die Antwort.

Ich hätte in meiner SharePoint Webseite bereits einen Webpart integriert, wo ich über die URL die PHP Seite ja aufrufen kann (funktioniert auch); ist dies, was du mit Webpartentwicklung gemeint hast?

Das Problem ist aber, dass die PHP Seite Parameter bekommen soll und ich nicht weiss, wie ich diese jetzt übergeben soll; hätte jetzt versucht über den HTM Code des Webparts folgenden Javascript Code einzubauen:

<script type="text/javascript" language="JavaScript">
window.location.href = "http://url/script.php?php_var=" + "IrgendeinParameterwert");</script>

Dies klappt auch, jedoch wird hier ein eigenes Fenster aufgerufen; könnte man den Aufruf irgendwie anders machen, dass die PHP Seite den return /echo wert an das Javascript wieder zurückgibt?

danke

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Feb. 2014 11:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es gibt einen grundsätzlichen Unterschied zu beachten:

- entweder das PHP-Script wird mit JavaScript aufgerufen. Dabei wird auch das Ergebnis des Aufrufs per JavaScript verarbeitet. Das geht in diesem Fall nicht wegen Cross Site Scripting.

- oder das PHP-Script wird vom Browser aufgerufen. Dabei liefert es direkt HTML an den Browser, der das dann darstellt.

Offenbar geht es Dir eher um den zweiten Weg. Man kann den Aufruf auch über einen iframe machen und damit in die Seite einbetten. Du kannst dazu entweder ein Inhaltseditor-Webpart verwenden und dort direkt den HTML-Code eingeben <iframe src="script.php"></frame> oder Du kannst auch einfach das Seitenviewer-Webpart verwenden und dem den Link zum PHP geben. In beiden Fällen brauchst Du überhaupt kein JavaScript, sondern hängst die Parameter direkt an die URL an.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
70 Beiträge
NHDP Als Antwort am 26 Feb. 2014 12:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

super...danke für deine Erklärung; die Info mit den Parametern in der Url hat mir sehr geholfen und funktioniert auch tadellos

Ohne Rang
70 Beiträge
NHDP Als Antwort am 26 Feb. 2014 15:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

noch eine Frage dazu:

Infos die nun in dem Webpart (durch Aufruf einer externen php URL) eingebunden sind können aber jetzt nicht über die SharePoint Suche gefunden werden oder? 

Finde zumindest keine Einträge aus dem Webpart über die Suche.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Feb. 2014 15:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, das wird von der Suche nicht erfaßt. Wenn Du externe Daten "richtig" in SharePoint verfügbar machen möchtest, solltest Du Dich mit BCS beschäftigen (Business Connectivity Services). Die Daten werden dann wie normale Listen in SharePoint angezeigt, können falls gewünscht auch dort geändert werden und sie werden von der Suche erfaßt. Gespeichert bleiben sie aber im externen sSstem.

Viele Grüße
Andi
af @ evocom de
Blog