samedi 3 juin 2017

How to handle JSON.stringify data in Laravel

I am trying to catch data from Ajax in Laravel controller to save it. But I keep getting error as seen image below. What am I doing wrong here?

Laravel Controller@ajaxstore

public function ajaxstore(Request $request)
{

    //Event::create($request->all());
    //return (gettype($name));
    $data = $request->all();
    //$newdata =array_keys($data);
    $data= json_decode($data,true);
    $event = New Event;        
    $event->name = $data['name'];
    $event->description = $data['description'];
    $event->start = $data['start'];
    $event->end = $data['end'];
    $event->color = $data['color'];
    $event->save();
}

My jquery

$('#calendar').fullCalendar({
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'month,agendaWeek,agendaDay'
    },
    events: '/admin/event-list/' + roomId.val(),
    //events: JSON.parse(json_events),
    defaultView: 'agendaWeek',
    editable: true,
    selectable: true,
    timezone: 'local',
    select: function(start, end, jsEvent, view) {
        endtime = end.format('LLLL');
        starttime = start.format('LLLL');
        room_id = roomId.val();
        var mywhen = starttime + ' - ' + endtime;
        startTime.val(start);
        endTime.val(end);
        $('#dayClick #when').text(mywhen);
        $("#dayClick").modal("show");
        $('#submitButton').on('click', function(event){
            console.log("clicked");
            if(createEvent.valid()){
                // We don't want this to act as a link so cancel the link action
                if(doSubmit(start, end))
                {

                    $("#dayClick").modal('hide');
                    // remove previous entry
                    $("#createEvent").each(function(){
                        this.reset();
                    });
                    console.log($('#apptStartTime').val());
                    console.log($('#apptEndTime').val());
                    // enter to the calender
                    $("#calendar").fullCalendar('renderEvent',
                        {
                            title: $('#createEvent #event-name').val(),
                            start: new Date($('#apptStartTime').val()),
                            end: new Date($('#apptEndTime').val()),
                        },
                        true);
                    console.log("after renderEvent");

                }
                else
                {
                    console.log("failed");
                };
            }
            event.preventDefault();
        });

        //return eventData;
    },
    eventClick: function(event, jsEvent, view) {
        $('#modalTitle').html(event.name);
        $('#modalBody').html(event.description);
        $('#eventUrl').attr({'href':'event/'+event.id,'target':'_self'});
        $('#fullCalModal').modal("show");
    }
});

function doSubmit(start, end){
    console.log("inside dosubmit");
    eventData.name = eventName.val();
    eventData.description = description.val();
    eventData.capacity = capacity.val();
    eventData.room_id = roomId.val();
    startDate =  moment(start.format("YYYY-MM-DD HH:mm:ss"));
    eventData.start = startDate;
    endDate =  moment(end.format("YYYY-MM-DD HH:mm:ss"));
    eventData.end = endDate;
    eventData.color = color.val();
    console.log("inputdata: " + JSON.stringify(eventData));
    $.ajax({
        type: 'POST',
        url:'/admin/event-ajaxstore',
        //url: '/admin/event-ajaxstore',
        data: JSON.stringify(eventData),
        success: function(response){
            //event.id = response.eventid;
            console.log("returned : " + typeof(response));
            /* $('#calendar').fullCalendar('updateEvent',event); */ 
            /* //json_events = response; */
            /* console.log("data: " + data); */
            return true;
        }
    });


}

enter image description here



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2rx8wd8
via IFTTT

Aucun commentaire:

Enregistrer un commentaire