[英]Not able to access PHP variable
自最近24小时以来,我一直在尝试/尝试一件简单的事情,我无法理解为什么我无法访问PHP变量。 我知道做错了什么,我不知道那是什么。
window.alert("Variable" + <?php echo $_POST; ?> );
它给我的输出为Function Array() {[native code]}
,如何打印值? 而且我认为POST属性为空,任何人都可以检查吗? 为什么POST变量为空?
我正在通过POST方法将数据发送到文件
<script type="text/javascript">
function callAjaxAddition() {
arguments0 = {
arg1: $("#exampleForm input[id='pac-input']").val(),
arg2: ("#exampleForm input[id='pac-input']").val()
};
$.ajax({
type: "POST",
url: "processAjax.php",
data: {
arguments: arguments0
},
success: function(data) {
$("#answer").html('<ul><li>' + data + '</li></ul>');
send_apptn_req();
}
});
return false;
}
</script>
和ProcessAjax.php文件是
<?php $a=0;foreach($_POST['arguments'] as $v) $a= $v;echo $a;?>
请预先感谢..
$ _POST是传递给当前脚本的变量的关联数组。
因此,您需要使用print_r
而不是echo
。
window.alert("Variable" + <?php print_r($_POST); ?> );
$_POST
是一个数组,因此您应该使用print_r()
或var_dump()
而不是echo
:
window.alert("Variable" + <?php print_r($_POST); ?> );
如果要调试Javascript中的$ _POST变量,我建议您这样做:
console.log(<?php echo json_encode($_POST); ?>);
您将在浏览器的开发人员工具中看到内容。
作为参考,您可以查看此问题的答案。
编辑:
<form method="POST">
<input type="text" name="first"/>
<input type="text" name="second" />
<input type="submit" value="submit">
</form>
<?php if (isset($_POST)): ?>
<script type="application/javascript">
console.debug(<?php echo json_encode($_POST); ?>);
</script>
<?php endif; ?>
编辑2 :(更新代码后)
将ajax jQuery函数中的type
选项更改为如下所示的method
:
<script type="text/javascript">
function callAjaxAddition() {
arguments0 = {
arg1: $("#exampleForm input[id='pac-input']").val(),
arg2: $("#exampleForm input[id='pac-input']").val()
};
$.ajax({
method: "POST",
url: "processAjax.php",
data: {
arguments: arguments0
},
success: function(data) {
$("#answer").html('<ul><li>' + data + '</li></ul>');
send_apptn_req();
}
});
return false;
}
</script>
另请注意,在AJAX POST之后,您的$_POST
变量将包含您传递给$.ajax
函数的data
对象,以及因此传递的内容:
data: {
arguments: {
arg1: $("#exampleForm input[id='pac-input']").val(),
arg2: ("#exampleForm input[id='pac-input']").val()
}
}
将转换为:
Array (
'arguments' => Array (
'arg1': 'value of arg1'
'arg2': 'value of arg2'
)
)
因此,processAjax.php中的循环是没有用的,因为您没有在内部数组中循环。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.