ユーザーがマップ上でクリックする場所に応じて、私たちのサーバー上でFileMakerスクリプトを実行するはずのカスタムJS Webマップを開発しています。このスクリプトは、FileMaker固有の構文でXML URLを使用してWebから呼び出されます。スクリプトの実行時にデータを返す必要はありません。JavascriptからXML URLを使ってFMスクリプトを実行する
ユーザーがマップをクリックしたときに実行されるJSを正常に作成しました。私はまた、私は私のブラウザにそれを入力すると、私たちのサーバー上でスクリプトが発生するので、XML URLが正しいことを知っています。
ただし、XMLリクエストを送信するためにclickイベントを取得しようとすると、何も起こりません。私はXMLに新しいので、私はそれがXML URLをどのように呼び出すかと関係があると思います。私のWebマップは、FileMakerと同じサーバー上にあります。
これまで私が持っていたJSがあります。今はテストスクリプトを実行しようとしています。結局、私は変数はFileMakerスクリプトにSEGID渡しされます。
// Watch for pop-up event
view.popup.watch("selectedFeature", function(event) {
// if pop-up returns a feature... (to avoid error if user clicks too far from segment)
if (event && event.attributes && event.attributes.CIRCUIT_ID) {
// set segId equal to value of CIRCUIT_ID
var segId = event.attributes.CIRCUIT_ID;
// render a style change to the selected feature (functiondefined below)
featureLayer.renderer = generateRenderer(segId);
function sendSegId() {
console.log("XML request sent");
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://[email protected]/fmi/xml/fmresultset.xml?-db=WebViewerTest&-lay=Maps&-script=test&-script.param=88&-findall", true);
xhttp.send();
console.log("XML request executed" + segId);
}
sendSegId();
}
});
スクリプトはサーバと互換性があり、ブラウザのURLウィンドウにXML URLを入力すると実行されるため、管理者ユーザはスクリプトを実行する特権を持っていることがわかります。問題は、XML URLが関数sendSegIdによってトリガーされていないということです。何かがXMLHttpRequestに間違っていますが、何がわかりません。 –
ブラウザで同じスクリプトを実行しようとしていますが、エラー200が表示されます。レコードへのアクセスやエラーはありません。 –
はい - 今でも同じエラーが表示されています。私が先週休暇を去った時、これは起こっていなかった。私たちのIT担当者は、FMサーバーを変更していないと主張しているので、私はこれを引き起こしているものを紛失しています。 –