jQuery $ .get从物理客户端站点返回403

时间:2013-12-17 07:20:16

标签: javascript php jquery ajax arrays

这是最奇怪的事情,只有从我的客户身上才会发生这种情况。我正在使用$ .get jQuery函数执行服务器端验证,对于一个更大的表单中的三个表单部分。在每个部分之后,$ .get调用PHP验证脚本。仅在客户端物理站点上,脚本在第三次和最后一次验证调用时返回403错误 - 前两个进程正常。我还可以使用各种浏览器IE8 +,Chrome,FF,Windows,Mac从其他位置浏览整个表单,没有任何问题。

我没有固定它,但我有预感,这与网站内部域类似于外部域有关,除了本地的.local和外部的.com。我在调用$ .get时使用了FQDN,但仍然得到了错误。

我已将问题隔离到传递给$ .get的数组变量 - 这对我没有意义,我已经尝试更改变量中的所有值,甚至变量名等等。

* services_explain_array *数组是添加到* finish_array *时导致问题的原因,当遗漏一切按预期工作时。

更新

在FF上检查网络调试时,第三个也是最后一个$ .get调用从未知服务器“GoAhead WebServer”返回,而不是我的实际Web服务器“Apache”


    //SET OTHER SERVICES REQUIREMENTS
var services_other_required;
if ($('#otherservices').prop('checked') === true) {
    services_other_required = 'required';
} else {
    services_other_required = '';
}

//CREATE ELEMENT ARRAYS
//GET ALL SERVICES INPUT ELEMENTS THAT ARE CHECKED AND ADD THEM TO AN ARRAY 
var services_checked_array = [];
$("#services_method input").each(function (index, value) {
    if ($(this).prop('checked') === true) {
        services_checked_array.push($(this).data("display"));
    }
});

//CONVERT INPUT ELEMENTS FROM ARRAY TO STRING TO BE VALIDATED
var services_val = services_checked_array.join(', ');

//CREATE ELEMENT ARRAYS
var services_array = new Array('services', services_val, 'alphnum', 'required');
var services_explain_array = new Array('servicesexp', $('#servicesexp').val(), 'alphnum', services_other_required);
var delivery_array = new Array('delivery', $('#delivery').val(), 'word', 'required');
var additional_array = new Array('additional', $('#additional').val(), 'alphnum');

//CREATE SECTION ARRAY
var finish_array = new Array(services_array, delivery_array, additional_array);

validate(finish_array, 'finish', 'summary');

function validate(validation_array, current_section, next_section){ 
$.get("order/validate.php", {'input_array' : validation_array}, 
function(data){ /** LOTS'o'Stuff HERE **/ }, 'JSON'); }

1 个答案:

答案 0 :(得分:0)

如果您看到" GoAhead Web Server",您可能正在与网络WIFI网关或交换机中的嵌入式路由器通信。