本文介绍了在Select2中发送和接收AJAX的参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Select2中发送AJAX的参数,在PHP中接收?
我正在尝试发送的参数如下。
let element_id = event.target.id;
let selectEle = cellEle.children("select").select2({
ajax: {
url: "/wp-admin/admin-ajax.php",
dataType: 'json',
data: function (element_id) {
return {
q: element_id,
action: 'get_data'
};
},
type: "post",
processResults: function(data) {
console.log(data);
}
}
});
我正在尝试接收如下参数。
function get_data()
{
echo json_encode($_POST['q']);
die;
}
我得到的结果null
。
推荐答案
名称element_id
既用于第一行声明的变量let element_id = event.target.id;
,也用作数据函数使用的参数的名称data: function (element_id) {
。
element_id
中,并限定该函数的作用域,因此它会将_type
这样的变量设置为‘Query’,并将term
设置为搜索词(如果已经找到了搜索词)。这在https://select2.org/data-sources/ajax#request-parameters中有更详细的描述。我建议调整用于数据函数的参数名称。在下面的示例中,我已将其更新为params
,以匹配selt2站点上的示例。然后可以使用第一行上设置的element_id
变量来传递数据。
let element_id = event.target.id;
let selectEle = cellEle.children("select").select2({
ajax: {
url: "/wp-admin/admin-ajax.php",
dataType: 'json',
data: function (params) {
return {
q: element_id,
action: 'get_data'
};
},
type: "post",
processResults: function(data) {
console.log(data);
}
}
});
这篇关于在Select2中发送和接收AJAX的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!