我一直试图将值从javascript传递给php变量。我可以在来自另一个php文件的url时传递数据,但是我无法在同一页面上传递数据。
以下是javascript代码:
<script>
$(document).ready(function(){
$(document).on('click', '#getUser', function(e){
e.preventDefault();
var uid = $(this).data('id'); // get id of clicked row
$.ajax({
url: 'user.php',
type: 'POST',
data: 'id='+uid,
success: function(data) {
// the following will be executed when the request has been completed
alert('Variable id has been sent successfully!');
}
})
});
});
</script>
答案 0 :(得分:2)
由于您在POST
中使用ajax
类型。所以
data: 'id='+uid,
需要
data: {"id":uid}, //or you can do data: {id:uid},
在 user.php 页面上: -
<?php
echo $_POST['id'];//check what it outputs in your console
答案 1 :(得分:1)
您应该将JSON
传递给您的服务器,例如:
而不是
data: 'id='+uid
使用
data: {"id":uid}
答案 2 :(得分:0)
这是伪代码,可帮助您了解如何在AJAX请求中传递参数:
var paramsToSend = {};
paramsToSend['data1'] = 'data1';
paramsToSend['data2'] = 'data2';
$.ajax({
...
data: {params:JSON.stringify(paramsToSend)},
...
});
在 users.php 中,您可以:
$parameters = json_decode($_POST['params']
要将它们转换为数组并在$ _POST中包含该数组,您可以:
$_POST = (array) $parameters;