问题描述
我是 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 (将#修改为@)