我将 x jQuery变量发送到php文件。
这是我的jQuery with ajax:
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。
我做错了什么?
答案 0 :(得分:1)
问题在于
(%i1) sol: nullspace(matrix([1,0,0],[0,0,0],[0,0,0]));
[ 0 ] [ 0 ]
[ ] [ ]
(%o1) span([ 0 ], [ 1 ])
[ ] [ ]
[ 1 ] [ 0 ]
(%i2) answer_student: span(matrix([0],[0],[2]),matrix([0],[2],[0]));
[ 0 ] [ 0 ]
[ ] [ ]
(%o2) span([ 0 ], [ 2 ])
[ ] [ ]
[ 2 ] [ 0 ]
(%i3) is(sol = answer_student);
(%o3) false
仅使用$aux = json_decode($_POST['id'])
获取值
和$_POST['id']
提交回复
编辑:还发现帖子中有错误
json_encode(...)
错了,因为您缺少完整的功能或jQuery.post(aurl, {id: x}, 'json');
承诺处理
解决方案1:
done()
解决方案2:
jQuery.post(aurl, {id: x}, function(response) {
console.log(response); // just an example
}, 'json');
解决方案3:使用另一个答案中指定的jQuery.post(aurl, {id: x}, null, 'json');
(等于$.ajax
)
一些有用的网址:
Ajax:http://api.jquery.com/jquery.ajax/
答案 1 :(得分:0)
像这样在文件中发布一个AJAX帖子:
$.ajax({
url:'address/to/your/file.php',
type: 'post',
data: {'JSON' : JSON},
done: function(data) {
// this is for testing
}
}).fail (function() {
alert('error');
}).always(function(data) {
alert(data);
//Loading or animation until you get a response back (if needed)
});
});
你的PHP文件应该更像这样:
<?php
if(isset($_POST['AJAX'])) { //Checks if there is a POST request
$data = $_POST['AJAX']; //Then Assigns the data in the Post request to $data
.....
} else {
echo 'Error: No Data recieved';
}
?>