Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Json giving 301 Moved Permanently

on Firefox, only on firefox it will popup and give you a warning "This web page is being redirected to a new location. Would you like to resend the for form you have typed to the new location."

I got no form , i use javascript to extract values from textbox

I checked on firebug it says PUT /admin/submit-scan/ 301 moved permanently PUT submit-scan 302 Found

My JS

function submitGoods(){
    var registeredNo = $('input[name=registeredno]').val();
    var weight = $('input[name=weight]').val();
        $.ajax({
            type: 'PUT',
            url: '/admin/submit-scan/',
            data: {
                registeredNo: registeredNo,
                weight: weight,
                _token: csrfToken
            },
            dataType: 'json'
        }).done(function(data){

                data = $.parseJSON(data);
            });

}

My Route

Route::put('submit-scan', 'Controllers\Admin\DashboardController@putUpdateSubmitScan');

My controller

 public function putUpdateSubmitScan()
    {
        if (Request::ajax())
        {
            return Response::json(array('success' => 1, 'data' => "test"));
        }
    }

Any idea what went wrong?

like image 248
CodeGuru Avatar asked Sep 21 '13 15:09

CodeGuru


People also ask

Why is my 301 Moved Permanently?

The HyperText Transfer Protocol (HTTP) 301 Moved Permanently redirect status response code indicates that the requested resource has been definitively moved to the URL given by the Location headers. A browser redirects to the new URL and search engines update their links to the resource.

What is a 301 code?

What is a 301 (permanent) redirect? 301 is an HTTP status code sent by a web server to a browser. A 301 signals a permanent redirect from one URL to another, meaning all users that request an old URL will be automatically sent to a new URL.


1 Answers

Removing the trailing slash should do the trick (most probably prior to Laravel 4.1, see below).

url: '/admin/submit-scan'

Update

As mentioned in Laravel4 POST unexplained redirect to GET

Laravel bootstrap/start.php is calling $app->redirectIfTrailingSlash(); which seems to be the culprit. This has been changed in Laravel 4.1:

http://laravel.com/docs/upgrade#upgrade-4.1

like image 138
JofryHS Avatar answered Oct 23 '22 23:10

JofryHS