Frage

Ich versuche, iChemlabs Cloud -Dienste von einem HTML5 -Webarbeiter zu verwenden. Normalerweise benötigt die CloudServices JQuery, aber ich kann das nicht in einen Webarbeiter importieren, daher verwende ich stattdessen Pollen mit einer Chemdoodle-Webkomponentenbibliothek, mit der ich die Dokumente ausgestattet habe.

jQuery.hive.pollen bietet eine schöne Ajax -Funktion, die JQuery sehr ähnlich ist, aber ich kann es anscheinend überhaupt nicht zum Laufen bringen. Ich weiß, dass es schwierig ist, dieses Problem zu lösen, wenn man bedenkt, dass Zugangskontroll-Header so eingestellt werden müssen, dass einer von Ihnen die Lösung tatsächlich finden kann. Ich bin jedoch ein Anfang JavaScript -Programmierer und ich habe mich gefragt, ob meine zwei Wochen der Frustration tatsächlich ein kleiner Unterschied sind. Ich versuche, die folgende Funktion aufzurufen:

var cloudmolecule;

ChemDoodle.iChemLabs.readSMILES('N1(C)C(=O)N(C)C(C(=C1N1)N(C=1)C)=O', function(mol){
    cloudmolecule = mol;
});

Hier ist ein Verknüpfung Zu dem von mir verwendeten Bibliothekscode finden Sie in diesem CODE -Block des Code -Blocks den Call and Ersatz von 'Q.Ajax' und ersetzen Sie JQuery = q für P = Q (P ist für Pollen).

Im Moment versuche ich nur, den Ajax -Anruf in einem gewöhnlichen JavaScript -Block mit dem Plan zu arbeiten, später zu einem Webarbeiter zu migrieren.

Wenn mir jemand auf das Problem hinweisen könnte, wäre ich sehr dankbar.

War es hilfreich?

Lösung

gelöst! Es stellt sich heraus, dass Ichemlabs diese beiden zusätzlichen Header, die Pollen erzeugt, ablehnt:

_xhr.setRequestHeader("X-Requested-With", "Worker-XMLHttpRequest");
_xhr.setRequestHeader("X-Worker-Hive", "Pollen-JS" );

Kommentieren Sie sie einfach aus

Außerdem scheint Pollen Ajax ein JSON -Objekt zurückzugeben, das die Daten im JSON -Format und als Zeichenfolge enthält

o = JSON.parse(data.string)//data is the parameter to the callback function

Die reduzierte Chemdoodle-Bibliothek (ohne dokumentbezogene Methoden) funktioniert wie ein Zauber mit Pollen Ajax.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top