AJAX通过VPN剥离请求数据发布请求

时间:2016-08-26 19:58:52

标签: php jquery ajax vpn

我有一个托管在公司内部网后面的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){

}

服务器实际上没有收到附加的请求数据,但客户端浏览器报告它发送了正确的请求数据。

1 个答案:

答案 0 :(得分:0)

最近能够解决这个问题。

为了添加上述帖子中遗漏的一些细节,我后来才发现,这个问题特定于Apple Devices(iOS / OS X)。

看起来苹果操作系统中肯定存在一个错误,阻止了请求完成所有操作。 将iOS更新到iOS 10,将OS X更新到macOS Sierra完全解决了这个问题。