Php jQuery ajax请求未传递POST变量
几个小时以来,我一直试图在点击按钮时调用php函数。正在打开ajax.php文件,该文件返回正常,但是没有传递post变量。以下是我的jQuery代码:Php jQuery ajax请求未传递POST变量,php,jquery,ajax,Php,Jquery,Ajax,几个小时以来,我一直试图在点击按钮时调用php函数。正在打开ajax.php文件,该文件返回正常,但是没有传递post变量。以下是我的jQuery代码: $(function() { $("#button-id").click(function() { $.post('functions/ajax.php', { param1: "value1", param2: "value2" }, function(data) {
$(function() {
$("#button-id").click(function() {
$.post('functions/ajax.php',
{ param1: "value1", param2: "value2" },
function(data) {
alert(data);
}
);
});
});
下面的php代码将显示一个空数组
<?php
print_r($_POST);
?>
我一辈子都搞不明白为什么数据变量没有被传递到ajax.php文件。什么原因可能导致这种情况?您应该这样做:
$.post("functions/ajax.php", {
param1: "value1",
param2: "value2"
}).done(function (data) {
alert("Data Loaded: " + data);
});
(示例下)这将对您有所帮助
$.ajax({
type : "POST",
url:"<?=Yii::app()->createUrl('site/Enquiryvalidation');?>",
data:{"param1: "value1", param2: "value2"},
success:function(data){
alert(data);
}
});
$.ajax({
类型:“POST”,
url:“”,
数据:{“param1:value1”,param2:value2},
成功:功能(数据){
警报(数据);
}
});
发现问题是由我的.htaccess文件引起的。因为我将所有.php文件请求重定向到它们各自的页面,而没有.php扩展名,所以每次打开文件时都会执行一个额外的get请求,导致所有以前的post变量丢失。我的.h文件也导致了同样的问题t删除php文件扩展名。要解决此问题,只需在请求中删除php扩展名:
$.post('functions/ajax',
{ param1: "value1", param2: "value2" },
function(data) {
alert(data);
}
);
您没有得到正确的控制台错误?我假设您在实际服务器上运行此操作?您的代码运行良好。@aug是的,我在本地服务器上运行此操作,没有收到任何控制台错误。您的代码返回:
Array([param1]=>value1[param2]=>value2)
您添加了jquery.js吗?您最后是如何修复的?