Home > DeveloperSection > Forums > AJAX Sending Null data when using IE
ben reitman
ben reitman

Total Post:96

Points:676
Posted on    December-23-2013 3:29 AM

 JavaScript JavaScript 
Ratings:


 1 Reply(s)
 1094  View(s)
Rate this:

When I use an AJAX request that sends data to controller with IE, it is sending null data. When I use Chrome or Firefox, my data from the key/value pairs are there in the controller's parameter variables.

Here is my javascript function:

$(".input-group.date").datepicker({

        autoclose: true

    }).on('changeDate', function (ev) {

        var schoolId = $(this).attr('data-schoolId');

        var date = new Date(ev.date).toUTCString();

        var schoolName = $(this).attr('data-schoolName');

        $.ajax({

            url: "@Url.Action("ChangeFulfillmentDate", "Admin")",

            type: "POST",

            data: {

                'newDate': date,

                'schoolId': schoolId

            },

            success: function (data) {

                if (!data.success) {

                    var n = noty({

                        text: 'Hold up! Something went wrong...<br />' + data.message,

                        layout: 'top',

                        type: 'error',

                        killer: true,

                        closeWith: ['button']

                    });

                }

                else {

                    var n = noty({

                        text: 'Fulfillment date for ' + schoolName + ' updated successfully',

                        layout: 'bottomRight',

                        type: 'success',

                        timeout: 3000,

                        killer: true,

                        closeWith: ['hover']

                    });

                }

            },

            error: function (xhr, status, error) {

                var n = noty({

                    text: 'Hold up! Something went wrong...<br />' + xhr.responseText,

                    layout: 'top',

                    type: 'error',

                    killer: true,

                    closeWith: ['button']

                });

            }

        });

    });

The ajax response error I get is:

The parameters dictionary contains a null entry for parameter 'newDate' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.JsonResult ChangeFulfillmentDate(System.DateTime, Int32)' in 'CurrReplenishment.Controllers.AdminController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.

Parameter name: parameters

Why is my AJAX call not sending the proper values for the key/value pairs? I have made sure that there is data in those javascript variables, as it works in Chrome and Firefox.



Pravesh Singh

Total Post:411

Points:2881
Posted on    December-23-2013 5:17 AM

Hi Ben,

It seems that ev.date is the problem, why don't you try something like this:

    $(".input-group.date").datepicker({

        autoclose: true,

        onSelect: function(selected) {

            var date = new Date(selected);

            /* Do something */

        }

    });


Don't want to miss updates? Please click the below button!

Follow MindStick