XMLHttpRequest无法加载预检的文件响应无效(重定向)

时间:2016-08-24 09:23:08

标签: javascript php jquery ajax .htaccess

我最近转移了一个网站(来自同一个主机,只有几个文件夹),现在我的ajax脚本停止了工作。

我为每个需要加载的脚本收到以下错误:

XMLHttpRequest cannot load http://www.website.nl/includes/loadmore.php. Response for preflight is invalid (redirect)

可能导致这种情况的原因是什么?这是我的ajax脚本:

(function(){
/*
Meer websites laden
*/
var limit = 3;
var offset = 0;
var i =0;
$('#loadmore').click(function() {
    limit = 3;
    limit = 4;
    if(i == 0) {
        offset += 3;
    } else {
        offset += 4;
    }
    i++;

    ajax();

});

var posts = document.getElementById('loadnews');

function ajax() {
    $.ajax({
    url: 'includes/loadmore.php',
    type: "POST",
    data: {limit: limit, offset: offset},
    success: function(data){
        var newWrapper = document.createElement('div')
        //add class to newWrapper or whatever
        newWrapper.innerHTML=data;
        loadnews.appendChild(newWrapper);
    },
    error: function(jqXHR, exception) {
              if (jqXHR.status === 0) {
                   alert('Not connect.\n Verify Network.');
               } else if (jqXHR.status == 404) {
                   alert('Requested page not found. [404]');
               } else if (jqXHR.status == 500) {
                   alert('Internal Server Error [500].');
               } else if (exception === 'parsererror') {
                   alert('Requested JSON parse failed.');
               } else if (exception === 'timeout') {
                   alert('Time out error.');
               } else if (exception === 'abort') {
                   alert('Ajax request aborted.');
               } else {
                   alert('Uncaught Error.\n' + jqXHR.responseText);
               }
           }
    }); 
}

ajax();
}());

我阅读了有关更改已发送的标头并允许交叉访问的内容,但我已在htaccess文件中执行此操作。它对我来说也没有意义,因为文件仍在同一主机上,只是一个不同的文件夹。

像这样:

#Cross site access toestaan
Header set Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" 

1 个答案:

答案 0 :(得分:0)

看起来像csrf问题所以你得到了

XMLHttpRequest cannot load http://www.website.nl/includes/loadmore.php. Response for preflight is invalid (redirect)

表示您处于http://www.website.nl

尝试从http://website.nl

发送ajax请求