Ashley Banks
Ashley Banks

Reputation: 528

jQuery ajax POST treated as GET with Laravel on the server

I'm having a bizarre issue where my POST request is being treated as a GET - this only happens on the LIVE environment and works fine locally. I have the correct POST route set up in laravel.

Would there be a case where jQuery would default to GET on a server environment - I'm currently accessing the site via an IP rather than the domain while the DNS resolves, could this perhaps cause an issue?

Route::post('/ajax/sale/filter', 'SalesController@ajaxFilterOptions');

$.ajax({ url: '/ajax/sale/filter/',
             data: {filter: options, sale_id: window.saleId, outlet_type: outletType},
             type: 'POST',
             cache: false,
             dataType: 'JSON',
             success: _.bind(function (data) {
                console.log(data)


             }, this)


    });

Upvotes: 0

Views: 502

Answers (2)

AshkaliD
AshkaliD

Reputation: 299

I know there is an accepted answer here. But whoever comes this page might be interested in knowing that if you remove the leading slash this will work fine. So in the example given, use url "/ajax/sale/filter" instead of "/ajax/sale/filter/"

Upvotes: 0

drmarvelous
drmarvelous

Reputation: 1681

Your code lines up fine, you may want to check your htaccess file to see if a rewrite is happening (or corresponding rewrite with another httpd), or switch to $.post instead of $.ajax to make sure/force it as a POST request.

Upvotes: 2

Related Questions