我有一个托管在公司内部网后面的Web应用程序。对于需要远程访问的任何用户,当前的解决方案是让他们通过VPN连接,然后使用内部站点位置。
基于PHP的应用程序,前端基于AJAX请求构建,从PHP后端获取信息和页面。
在内部网络中存在发出请求的零问题,但是通过VPN连接几乎80%的所有AJAX请求都失败了。
所以这里发生了什么,浏览器正在拨打正确的电话,并附上所有的帖子数据。服务器正在接收没有数据的请求,然后在需要时发回故障。我已经尝试过回显$ _POST数组,只要它失败就会为空。
关于什么可能导致仅剥离后期数据的任何想法? VPN提供程序是Microsoft TMG,该站点托管在IIS 8.5上。
编辑:以下是一些示例代码,可以更好地了解我所看到的内容。
JS:
var submit = 'test';
$.ajax({
type:'POST',
data: submit,
url:base_url+'ajax_get_data/',
dataType: 'json',
timeout: 8000,
success: function(data) {
// Do soemthing
},
error: function(e){
// Error
}
});
PHP:
public function ajax_get_data(){
var_dump($_POST);
return;
}
在这个例子中,查看来自服务器的返回数据raw,这是检查员显示的内容:
array(0){
}
服务器实际上没有收到附加的请求数据,但客户端浏览器报告它发送了正确的请求数据。
答案 0 :(得分:0)
最近能够解决这个问题。
为了添加上述帖子中遗漏的一些细节,我后来才发现,这个问题特定于Apple Devices(iOS / OS X)。
看起来苹果操作系统中肯定存在一个错误,阻止了请求完成所有操作。 将iOS更新到iOS 10,将OS X更新到macOS Sierra完全解决了这个问题。