所以我有这个问题一段时间了,我知道有关这个话题的无数问题,相信我,我尝试了所有的解决方案,但仍然不起作用.
这是我最简单的例子,在我的情况下不起作用
jQuery的:
$.ajax({
url: "ajax/add-user.PHP",type: "POST",data: {name: 'John'},success: function(data){
console.log(data);
}
});
PHP
echo json_encode($_POST);
而已.
我总是回应一个空的数组作为一个回应.我尝试使用serialize()的数据:但响应始终为空.我没有任何错误,只有一个空数组,当我应该得到发布的值.
例如,在PHP中,我尝试回应一些硬编码的变量,但是$_POST和$_GET不起作用.
任何解决方法或方法我如何识别问题?
谢谢.
编辑/解决方案
好的,所以似乎问题是.htaccess重写url并删除扩展名.在网络标签中,请求已被永久移动.从ajax url中删除.PHP扩展名:解决了它.谢谢你,因为浪费时间而感到遗憾.干杯
解决方法
您需要在ajax调用中将数据类型设置为json
JQUERY CODE:
$.ajax({
url: "ajax/add-user.PHP",dataType:'json',success: function(data){
console.log(data);
}
});
同时在脚本中验证头是否更新以接受json数据.
PHP代码:
/ **
*以JSON格式发送
* /
header(“Content-Type:application / json”,true);
快乐编码: