单击按钮时,我已经尝试了几个小时来调用php函数。正在打开ajax.php文件并且它返回正常,但是没有传递post变量。这是我的jQuery代码:
$(function() {
$("#button-id").click(function() {
$.post('functions/ajax.php',
{ param1: "value1", param2: "value2" },
function(data) {
alert(data);
}
);
});
});
以下php代码导致显示一个空数组。
<?php
print_r($_POST);
?>
我不能为我的生活弄清楚为什么数据变量没有传递给ajax.php文件。可能导致这种情况的原因是什么?
答案 0 :(得分:0)
你应该这样做:
$.post("functions/ajax.php", {
param1: "value1",
param2: "value2"
}).done(function (data) {
alert("Data Loaded: " + data);
});
答案 1 :(得分:0)
这对你有帮助。
$.ajax({
type : "POST",
url:"<?=Yii::app()->createUrl('site/Enquiryvalidation');?>",
data:{"param1: "value1", param2: "value2"},
success:function(data){
alert(data);
}
});
答案 2 :(得分:0)
原来问题是由我的.htaccess文件引起的。因为我在没有.php扩展名的情况下将所有.php文件请求重定向到各自的页面,所以每次打开文件时都会执行额外的get请求,导致所有以前的post变量都丢失。
答案 3 :(得分:0)
我有同样的问题是由我的.htaccess删除php文件扩展名引起的。要解决此问题,只需删除请求中的php扩展名:
$.post('functions/ajax',
{ param1: "value1", param2: "value2" },
function(data) {
alert(data);
}
);