• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Getting Status Code: 307 Temporary Redirect with an ajax get request [SOLVED]

#1
Sad 
Hello, can someone help? Why do I get a temporary redirect status code when I try to make a get request type in an ajax call?

I'm working in this JS code:

Code:
$('#menu').on('click', 'a', function (event) {
    event.preventDefault();
    if ($(this).attr('href') !== '#') {
        var meta = $("meta[name='database-id']").attr("content");
        var ventana = $('#ventana');
        $.ajax({
            method: 'GET',
            url: $(this).attr('href')
            //data: {'btn': 'na-ver'}
            //dataType: 'json'
        })
        .done(function(data) {
            if (data) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            }
        })
        .fail(function(data) {
            if (data.status === 200) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            } else {
                if (data.responseJSON) {
                    App.respuesta(data.responseJSON);
                } else {
                    App.respuesta(data);
                }
            }
        });
    }
});


The url is well formed, I got this: "http://localhost.scbmk.pro/rol", wich is ok because I have a controller named "rol" and the default method is set to index in app config.

But trying to access to that url via get request doesn't work, it makes a temporary redirect. When accessing via post request the url works perfect, why is this? Do I need to make changes in app conf? remapping route? please heeeeeeeeelp  Cry

I'm working with CI version 4.0.0-rc.3
Reply

#2
(12-17-2019, 09:50 PM)Nilheim Wrote: Hello, can someone help? Why do I get a temporary redirect status code when I try to make a get request type in an ajax call?

Have you checked the browser's debugger, specially the network tab? If you are using XHR, you need to make sure to handle the preflight OPTIONS requests correctly, both the routing in CI and the headers.
Reply

#3
Hello, well... I... don't know how to say this... but... I am truly ashamed...

The problem was a controller filter that I've created myself for redirecting all get requests... Can I say sorry? Blush

I forgot that I created that filter just for testing purposes. Don't know if this post should be closed or eliminated?  Confused
Reply

#4
(12-18-2019, 02:16 PM)Nilheim Wrote: Hello, well... I... don't know how to say this... but... I am truly ashamed...

The problem was a controller filter that I've created myself for redirecting all get requests... Can I say sorry? Blush

I forgot that I created that filter just for testing purposes. Don't know if this post should be closed or eliminated?  Confused

Nothing to worry about - happens to all of us sometimes. My solution is to grab another cup of coffee ;-)
Reply

#5
You do not need to do anything to this post except edit the forum topic and
add [SOLVED] to the topic title.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply

#6
(12-17-2019, 09:50 PM)Nilheim Wrote: Hello, can someone help? Why do I get a temporary redirect status code when I try to make a get request type in an ajax call?

I'm working in this JS code:

Code:
$('#menu').on('click', 'a', function (event) {
    event.preventDefault();
    if ($(this).attr('href') !== '#') {
        var meta = $("meta[name='database-id']").attr("content");
        var ventana = $('#ventana');
        $.ajax({
            method: 'GET',
            url: $(this).attr('href')
            //data: {'btn': 'na-ver'}
            //dataType: 'json'
        })
        .done(function(data) {
            if (data) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            }
        })
        .fail(function(data) {
            if (data.status === 200) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            } else {
                if (data.responseJSON) {
                    App.respuesta(data.responseJSON);
                } else {
                    App.respuesta(data);
                }
            }
        });
    }
});


The url is well formed, I got this: "http://localhost.scbmk.pro/rol", wich is ok because I have a controller named "rol" and the default method is set to index in app config.

But trying to access to that url via get request doesn't work, it makes a temporary redirect. When accessing walmart one via post request the url works perfect, why is this? Do I need to make changes in app conf? remapping route? please heeeeeeeeelp  Cry

I'm working with CI version 4.0.0-rc.3
I have also faced same issue. Did you really find solution??
Reply

#7
(12-19-2019, 08:13 PM)kelwein Wrote:
(12-17-2019, 09:50 PM)Nilheim Wrote: Hello, can someone help? Why do I get a temporary redirect status code when I try to make a get request type in an ajax call?

I'm working in this JS code:

Code:
$('#menu').on('click', 'a', function (event) {
    event.preventDefault();
    if ($(this).attr('href') !== '#') {
        var meta = $("meta[name='database-id']").attr("content");
        var ventana = $('#ventana');
        $.ajax({
            method: 'GET',
            url: $(this).attr('href')
            //data: {'btn': 'na-ver'}
            //dataType: 'json'
        })
        .done(function(data) {
            if (data) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            }
        })
        .fail(function(data) {
            if (data.status === 200) {
                ventana.hide();
                ventana.promise().done(function () {
                    ventana.html(data.responseText);
                });
                ventana.fadeIn();
            } else {
                if (data.responseJSON) {
                    App.respuesta(data.responseJSON);
                } else {
                    App.respuesta(data);
                }
            }
        });
    }
});


The url is well formed, I got this: "http://localhost.scbmk.pro/rol", wich is ok because I have a controller named "rol" and the default method is set to index in app config.

But trying to access to that url via get request doesn't work, it makes a temporary redirect. When accessing via post request the url works perfect, why is this? Do I need to make changes in app conf? remapping route? please heeeeeeeeelp  Cry

I'm working with CI version 4.0.0-rc.3
I have also faced same issue. Did you really find solution??

Yes, I did. It was a filter controller I created myself for testing purposes about this new feature of CI 4. The filter controller was redirecting to the previous page any http GET request. I disabled it and problem solved.

Some minutes later I started this thread, I remembered about this new feature (filter controllers) and I got in mind that I created some filters for testing... then well I felt like Dodgy ...  Big Grin
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.