gpt4 book ai didi

javascript - 来自露天 javascript 文件的 HTTP 请求

转载 作者:行者123 更新时间:2023-11-30 20:24:22 24 4
gpt4 key购买 nike

我是 alfresco 的新手,我创建了一个规则,当文件到达目录时执行 javascript 文件(我的 javascript 在数据字典脚本文件中)。但是,此 javascript 脚本必须向远程服务器发送 http get 请求,但我不能使用 alfresco 远程。你能提出一个解决方案吗?谢谢

我的 javascript 代码:

function main() {
var name = document.name;
var username = "";
var msgContent = "";
var siteName = document.siteShortName;
var firstName = person.properties.firstName;
var lastName = person.properties.lastName;

if (siteName == null) {
if (logger.isLoggingEnabled())
logger.log("Erreur");

return;
}
if (firstName != null) {
username = username + firstName + " ";
}
if (lastName != null) {
username = username + lastName;
}
msgContent = username + " a ajouté un nouvel élément de contenu " + name + " au site " + siteName;

if (logger.isLoggingEnabled()) {
logger.log(encodeURIComponent(msgContent));
}
var connector = remote.connect("gedrepportremote");
var result = connector.get("/api/sendSMS?siteName=" + encodeURIComponent(siteName) + "&msgContent="+encodeURIComponent(msgContent));
if (result.status == 200) {
return JSON.parse(result);
} else if (result.status == 403) {

} else {
return null;
}
}

main();
我有这个错误:“未定义远程”。我试过这个 HTTP Request from WebScript in Alfresco但它对我不起作用。

最佳答案

我不认为增强远程对象以连接到您的外部资源会有用。

最简单的解决方案是在 java 类中实现逻辑,然后将该类的实例公开为脚本中的根对象。

在 javascript 上下文中添加一个新对象并不困难。像下面这样定义一个新 bean 就足够了:

<bean id="javascriptRestClient" parent="baseJavaScriptExtension"
class="com.example.javascript.JavascriptRestClient">
<property name="extensionName" value="restClient" />
</bean>

本例中的 JavascriptRestClient 类必须扩展 org.alfresco.repo.processor.BaseProcessorExtension。

通过此定义,您将能够使用变量 restClient 在 javascript 中访问类 JavascriptRestClient 的实例。

父 bean baseJavaScriptExtension 在 alfresco 上下文文件 alfresco/script-services-context.xml 中定义为:

<!-- base config implementation that script extension beans extend from - for auto registration
as a global script with the ScriptService -->
<bean id="baseJavaScriptExtension" abstract="true" init-method="register">
<property name="processor">
<ref bean="javaScriptProcessor"/>
</property>
</bean>

关于javascript - 来自露天 javascript 文件的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51083658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com