📅  最后修改于: 2023-12-03 14:40:53.061000             🧑  作者: Mango
在Drupal 8中使用Javascript主题可以帮助我们轻松地从表单中获取节点。以下是在JavaScript主题中获取节点的方法。
使用Drupal Ajax是从表单中获取节点的最简单方法。以下是一个例子:
Drupal.behaviors.myBehavior = {
attach: function(context, settings) {
$(context).find('#myform').once('myBehavior', function() {
var form = this;
$(form).find('#mybutton').click(function() {
var node_id = $(form).find('#node_id').val();
var url = '/ajax/node/' + node_id;
var ajax_settings = {
url: url,
success: function(data) {
console.log(data);
}
};
$.ajax(ajax_settings);
});
});
}
};
以上代码中,我们使用了$.ajax()
函数来创建一个Ajax请求。当用户点击#mybutton
按钮时,我们获取了#node_id
表单元素的值并将其添加到请求URL中,然后我们将通过Ajax请求从服务器获取节点数据,并将其打印到控制台上。
Drupal提供了许多服务,可以帮助我们轻松地获取节点数据。以下是一个示例:
Drupal.behaviors.myBehavior = {
attach: function(context, settings) {
$(context).find('#myform').once('myBehavior', function() {
var form = this;
$(form).find('#mybutton').click(function() {
var node_id = $(form).find('#node_id').val();
var endpoint = "/jsonapi/node/article/" + node_id;
var ajax_settings = {
type: "GET",
url: endpoint,
dataType: "json",
success: function(data) {
console.log(data);
}
};
$.ajax(ajax_settings);
});
});
}
};
在上面的例子中,我们使用Drupal的JSON API服务来获取节点数据。我们创建一个包含节点ID的URL(这里假设是文章类型),然后我们使用$.ajax()
函数来创建一个Ajax请求,并将其发送到服务器以获取节点数据。我们将返回的数据打印到控制台上。
##总结
在Javascript主题中获取节点的方法有很多种。无论您选择哪种方法,一定要牢记安全性。请确保通过验证和授权方式来获取和操作数据,以保护应用程序和服务器安全。