带有 XMLHttpRequest() 的 Word 插件

问题描述

我是 Office 加载项的新手,所以我正在尝试有关 Word 加载项的 MS 教程。我想在加载项中获取 PHP 文件 (http://localhost/wikindx6/trunk/office.PHP) 的 echo 语句。我在我的 PHP 文件所在的认本地主机上运行 XAMPP。代码是(并且,在 Web 浏览器中,我打印了预期的回声):

<?PHP
        echo json_encode("HERE I AM");
        die;
?>

加载项在 localhost:3000 上运行(设置时的认值)。因此,我将其添加到 manifest.xml 中,希望它能够访问 PHP 文件

  <AppDomains>
    <AppDomain>http://localhost</AppDomain>
  </AppDomains>

插件的javascript业务端是(它在word文档的光标处插入文本):

function insertText() {
  Word.run(function (context) {
    var selection = context.document.getSelection();
    var returnText = 'start';
    var xml = new makeHttpObject();
    xml.onreadystatechange = function() {
        if( xml.readyState == 4 && xml.status == 200 ){
          returnText = xml.responseText;
        } else {
          returnText = 'failure';
        }
    };
    xml.open("GET","/wikindx6/trunk/office.PHP",false);
    xml.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xml.send("format=json");
      var text = selection.insertText(returnText,"After");
    return context.sync();
  })
  .catch(function (error) {
      console.log("Error: " + error);
      if (error instanceof OfficeExtension.Error) {
          console.log("Debug info: " + JSON.stringify(error.debugInfo));
      }
  });
}

function makeHttpObject() {
  try {return new XMLHttpRequest();}
  catch (error) {}
  try {return new ActiveXObject("Msxml2.XMLHTTP");}
  catch (error) {}
  try {return new ActiveXObject("Microsoft.XMLHTTP");}
  catch (error) {}

  throw new Error("Could not create HTTP request object.");
}

我希望打印“我在这里”,但会得到“失败”。 在此先感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)