Select2 中 AJAX 的发送和接收参数
Send & Receive parameters of AJAX in Select2
如何在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) {
.
当数据函数被调用时,select2 会将 select2 的参数放在函数的 element_id
范围内,因此它会将像 _type
这样的变量设置为 'query' 和 term
设置为搜索词(如果已经输入)。这在 https://select2.org/data-sources/ajax#request-parameters.
中有更详细的描述
我建议调整用于数据函数的参数名称。我已在下面的示例中将其更新为 params
以匹配 select2 站点上的示例。然后可以使用第一行设置的 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的参数并在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) {
.
当数据函数被调用时,select2 会将 select2 的参数放在函数的 element_id
范围内,因此它会将像 _type
这样的变量设置为 'query' 和 term
设置为搜索词(如果已经输入)。这在 https://select2.org/data-sources/ajax#request-parameters.
我建议调整用于数据函数的参数名称。我已在下面的示例中将其更新为 params
以匹配 select2 站点上的示例。然后可以使用第一行设置的 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);
}
}
});