我正在将 x jQuery 变量发送到 php 文件。
这是我的带有 ajax 的 jQuery:
jQuery(document).ready(function($) {
var x = jQuery('#sbering option:selected').val();
jQuery('#optionvalue').html(x);
jQuery.ajax({
url: frontEndAjax.ajaxurl,
data: {
'action':'my_ajax_function',
'id' : x
},
success:function(data) {
console.log(data);
},
});
});
这是我发送 x 变量的函数:
function my_ajax_function() {
if(isset($_REQUEST['id'])) {
$aux = $_REQUEST['id'];
echo "ID: " . $aux;
}
var_dump($aux);
...
而不是在屏幕上打印 $aux 和 var_dump($aux) 它们仅在控制台中可见,并且 php 中的 $aux 为 Null。
我做错了什么?
最佳答案
问题出在
$aux = json_decode($_POST['id'])
仅使用$_POST['id']
来获取值
和 json_encode(...)
提交响应
编辑:还注意到您的帖子中存在错误
jQuery.post(aurl, {id: x}, 'json');
这是错误的,因为您缺少完整的函数或 done()
promise 处理
解决方案1:
jQuery.post(aurl, {id: x}, function(response) {
console.log(response); // just an example
}, 'json');
解决方案 2:
jQuery.post(aurl, {id: x}, null, 'json');
解决方案 3:使用另一个答案中指定的 $.ajax
(等于 jQuery.ajax
)
一些有用的网址:
Ajax :http://api.jquery.com/jquery.ajax/
关于jquery - 将 jQuery 变量传递给functions.php WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45981072/