skyhunter96
skyhunter96

Reputation: 143

Laravel with AJAX baseUrl not defined

So basically i am trying to build a survey with AJAX in Laravel. But when I try to submit it, in console i see this error "baseUrl not defined". Bear in mind that my jscript is external. Although I can put it inside the blade if needed.

Here is my JScript code

$(document).ready(function(){
$('#submitanketa').click(function(){
var uneto = $('input[name="radio"]:checked').val();
var token = $('#token').val();
$.ajax({
method: "POST",
url: baseUrl + "/post/post/ajax",
data: {
unos: uneto,
_token: token
},
success: function (data, xhr) {
/* location.reload();*/
console.log();
console.log(xhr);
$('#form1').html("<h1 class='hanketa'>Hvala na glasanju!</h1>");
},
error: function(xhr, status, error){
console.log(xhr);
console.log(status);
console.log(error);
        }
    });
});

});

Here is my view with a survey

<fieldset>
    <div id="form1">
        <legend class='legenda'>Koliko sebe smatrate humanim?</legend>
        <label class="container1">1
            <input type="radio" checked="checked" name="radio" value="1">
            <span class="checkmark"></span>
        </label>
        <label class="container1">2
            <input type="radio" name="radio" value="2">
            <span class="checkmark"></span>
        </label>
        <label class="container1">3
            <input type="radio" name="radio" value="3">
            <span class="checkmark"></span>
        </label>
        <label class="container1">4
            <input type="radio" name="radio" value="4">
            <span class="checkmark"></span>
        </label>
        <label class="container1">5
            <input type="radio" name="radio" value="5">
            <span class="checkmark"></span>
        </label>
        <button id="submitanketa" >prijavi</button>
        <input type="hidden" name="id" value="form1" />
        <input type="hidden" name="MM_insert" value="form1" />
        <input type="hidden" value="{{csrf_token()}}" id="token">
    </div>
</fieldset>

Route associatted

Route::post('/post/post/ajax', 'AnketaController@anketa');

Here is the controller

class AnketaController extends Controller{
    public function anketa(Request $request)
{
    $glasanje = $request->get('unos');
    $id_kor= session()->get('user')->id;
    $proba = new Anketa();
    $proba->glasanje = $glasanje;
    $proba->id = $id_kor;
    $rez = $proba->ubacianketu();
}}

Model associated

class Anketa
{

public $id;
public $glasanje;
public $id_glasanje;
public $id_korisnik;
public $datum_glasanja;
public $odgovor;

public function ubacianketu()
{
    $rez = DB::table('anketa')
        ->insert ([
            'ocena' => $this->glasanje,
            'id_kor' => $this->id
        ]);
        return $rez;
}


}

JQuery is loaded in the template.

Upvotes: 0

Views: 2302

Answers (1)

Keval Mangukiya
Keval Mangukiya

Reputation: 2493

its give error because before baseUrl variable you don't define baseUrl variable so first enter code heredefine baseUrl variable in your ajax script like this

var baseUrl = "{{URL::to('/')}}";

Upvotes: 1

Related Questions