我对php和ajax相当新。我试图将一个变量从jquery传递到一个在模态窗口中加载的php页面。
我有php返回一堆用户的表信息。在每个用户名旁边,我有一个编辑按钮。我有jquery抓取该按钮的data-id参数。
$(document).ready(function() {
$('.editButton').click(function(e){
e.preventDefault();
var getid = $(this).data('id');
现在我有一个php表单脚本,我想在模式窗口中加载"编辑"单击按钮。唯一的方法是使打开模态窗口的按钮成为一个标签,并使用href来调用php脚本。我想传递变量" getid"到PHP脚本将使用该值对数据库运行查询以查找被单击的用户(data-id参数由另一个返回该用户的id的php脚本生成)。我尝试了很多方法将ajax信息发送到外部php脚本,但无论我做什么,都无法让它工作。这是我的ajax请求:
$.ajax ({
url: '/extschedule.php',
data: {getid : getid},
type: 'POST',
success: function(data) {
alert('success');
}
}).error(function() {
Alert('Error');
以下是extschedule.php上的php代码:
$connection = mysqli_connect(stuff);
$idVar = $_POST['getid'];
$sqledit = "SELECT * from database WHERE id = (".$idVar.")";
$result = $connection->query($sqledit);
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$name = $row['name'];
$id = $row['id'];
$team = $row['team'];
$language = $row['language'];
$dedicatedHotel = $row['ded_hotel'];
$satStart = $row['Sat_start_time'];
$satEnd = $row['Sat_end_time'];..............yadda yadda
我尝试使用if(isset($ _ POST [' getid'])))但这会导致php方面出现大量问题。我已经搜索了一段时间,但仍然无法得到任何解决方案。有人可以帮我弄这个吗?提前谢谢!
答案 0 :(得分:0)
查询成功时,我看不到您回显数据。你可以再试一次:echo“bla bla bla”;在文件php。
答案 1 :(得分:0)
我在PHP版本之间多次出现过一些问题。我以为自己疯了,这篇帖子Sending JSON to PHP using ajax解释了一些事情。
在我的exp中。将$ .ajax消息发布到PHP,评估$ _POST,这需要您使用JSON.stringify。在这种情况下,我通常会设置dataType ='text',然后开始工作。但上述帖子实际上声称你不必这样做。但我已经多次来回切换,直到我能解决它。 (我甚至遇到过双重逃逸的情况。我记得PHP 5.2.8中的错误)。
您可以切换到dataType ='json',但在PHP端使用file_get_contents('php:// input')。这将接受application / json(内容类型)的原始帖子。
$.ajax({
type: "POST",
url: 'yourserviceorscript.php',
contentType: 'application/json; charset=utf-8', // (optional) text/plain; charset=utf-8
dataType: 'json', // or text
async: true, // or false
data: JSON.stringify(data_obj), // obj gets urlencoded
cache: false,
success: function(obj) {},
error: function(xhr, desc, exeptionobj){}
});
我注意到如果你没有正确设置contentType,它会使用默认的'application / x-www-form-urlencoded; charset = UTF-8'。
尽管如此,无论我在人们看到人们在示例中使用了什么 - 当他们将原始对象与数据放在一起时:JSON.stringify(data_object),我无法让它工作。 PHP方面声明没有stringify的原始帖子看起来像“data%5Baction%5D = Server_Checkup”,并且没有解决。除非你进行字符串化,否则它会被编码。 另请参阅 - How can I use JQuery to post JSON data?
关于这个主题有很多帖子。