0

Office 用のアプリをコーディングしていました。AJAX を使用して、外部 Web サイトから Office アプリにコンテンツを動的にロードすることを計画していました。次のJS関数があります。実行がa.open()機能するようになると、エラーが表示されます。

 Unhandled exception at line 31, column 21 in https://localhost:44304/App/Home/Home.js

 0x80070005 - JavaScript runtime error: Access is denied.

-

function getDataFromSelection() {
    Office.context.document.getSelectedDataAsync(Office.CoercionType.Text,
        function (result) {
            if (result.status === Office.AsyncResultStatus.Succeeded) {

                var a = new XMLHttpRequest();
                a.onreadystatechange = function () {
                    if (a.readyState == 4 && a.status == 200) {
                        var jSONstr = a.responseText;
                        var obj = jQuery.parseJSON(jSONstr);
                        showSearch(obj);
                    }
                };

                a.open("GET", "http://some.external.site/page.php?query=" + result.value, true); //This has got the error
                a.send();
            }
            else {
                app.showNotification('Damn!:', result.error.message);
            }
        }
    );
}

AJAX は Office アプリではサポートされていませんか? どうすれば正確なことを他の(動作する)方法で行うことができますか?

PS: Win8 で Visual Studio 2012 を使用しています。

4

1 に答える 1

1

ajax 経由でクロス サイト リクエストを実行しようとしたため、エラーが発生しました。

ブラウザーがこの種の要求を許可することはめったにないため、サーバー間通信を処理するサーバー側スクリプトに対して JSONP 要求または ajax 要求を行う回避策を見つける必要があります。

于 2013-04-27T17:57:34.677 に答える