【发布时间】:2019-12-30 08:33:20
【问题描述】:
当我在本地 php 服务器上运行 ajax POST 请求时,$_POST 数组被填充。在远程服务器上,如果我使用 google chrome、MS Edge,则 $_POST 数组为空;但 $_POST 在 Firefox 上不是空的。
当我调查 HTTP 远程地址标头时,我注意到以下差异 在 chrome 中 --- 远程地址:95.168.185.183:8080 在firefox中---远程地址:185.27.134.216:80
如果将 ajax 调用改为 get 类型,代码运行良好。
我的 ajax 调用如下所示:
$.ajax({
url: 'index.php/designer/ajax_add_template_to_cart',
type: 'post',
datatype:'json',
data:{
template_name : template_name,
size:size,
qty: 1
},
error: function(data) {
console.log(data);
},
success: function(data){
console.log(data);
},
});
【问题讨论】:
-
这个问题似乎不太可能源于上述 javascript 代码
-
似乎在所有具有代理连接的浏览器中:保持活动请求标头,$_POST 为空,这些浏览器是基于铬的浏览器和 MS Edge,但适用于 android 的 firefox 和 chrome 没有该标头和一切正常。
标签: php ajax google-chrome firefox