JQuery Json Zugriff auf eine Sharepoint-Liste über Rest

8

Ich versuche über Jquery und REST Interface auf eine Sharepoint-Liste zuzugreifen. Auf der Website mit dem folgenden Code wird localhost ausgeführt.

Dieser Code funktioniert nicht:

%Vor%

Ich erhalte die Fehlermeldung "Origin Ссылка ist nicht von" Access-Control-Allow-Origin "zulässig.

Ich bin nicht sicher, was der Grund ist. Ist es die Tatsache, dass Sharepoint Authentifizierung benötigt (anonym ist blockiert) oder ist es der domänenübergreifende Aufruf? Oder sogar beide?

Was kann ich tun? Ich habe irgendwo über JSONP als Datentyp gelesen. Aber das hat nicht funktioniert. Danke.

    
murratore 28.07.2011, 08:18
quelle

4 Antworten

6

Wenn Sie davon ausgehen, dass beide Ressourcen unternehmensintern sind und Sie immer auf die anderen zugreifen, könnte Ihr Sharepoint-Administrator versuchen, auf den Sharepoint IIS-Servern sogenannte CORS-Header (Cross Origin Resource Sharing) zu aktivieren / p>

Damit können Ihre Cross-Origin-Anrufe erfolgreich abgeschlossen werden, da der Browser und die Server Header austauschen, die eine gemeinsame Ursprungsfreigabe anfordern. Sie können mehr über CORS in Ссылка

erfahren

In Bezug auf 3nigmas Antwort. Jquery's crossDomain-Flag funktioniert nicht, da die Sharepoint-Dienste nicht als JSONP -Dienste konzipiert sind, was Jquery versucht verwenden Sie, wenn Sie diese Flagge setzen. (Der Sharepoint-Server müsste die Daten so auffüllen, als wäre es eine Javascript-Datei mit einem einzigen JSON-Objekt darin, aber ich weiß nicht, wie ich das konfigurieren könnte.)

    
Chris Jaynes 08.05.2012 18:43
quelle
0

Sie müssen stattdessen Ihren eigenen Server aufrufen und dann Ihren Server den SharePoint Server aufrufen lassen. Angenommen, Sie verwenden eine mittlere C # -Zeile, würde dies etwa so aussehen:

%Vor%

Natürlich müssen Sie Code für die Ausgabe der json zurück an Ihren Client hinzufügen, aber der Code oben ist, wie Sie die SP Daten erhalten können, die Sie brauchen.

Danke,

Matt

    
Matt Cashatt 08.12.2011 20:11
quelle
0

Nur für den Fall, dass jemand anderes dieses Problem anwendet, funktioniert das in meiner Umgebung, indem ich jquery, suoport.cors auf true setze. Der Code lautet:

%Vor%

Damit kann ich auf eine Liste auf einem anderen physischen Server zugreifen. Es waren keine Änderungen an iis erforderlich. Kein JSONP benötigt.

    
Russellg 22.05.2012 16:53
quelle
0
%Vor%     
DerDer73 28.05.2014 09:34
quelle

Tags und Links