Как мне разобрать переменные из ajax в контроллер и вернуть bool - PullRequest
0 голосов
/ 18 августа 2011

Я хочу проанализировать 2 строки (просто тестирование с одним банкоматом (состоящим из даты из средства выбора даты и часа и минуты из 2 текстовых полей. Но я не могу понять, как проанализировать данные из моего вызова ajax в метод, который я вызываю Я знаю, что он вызывается при проверке с точкой останова, но его параметр просто равен нулю.

Мой Аякс:

$('.datein').change(function () {
    alert("datein changed");
    //send servervalidering ajax
    var result = false;
    $.ajax({ url: "Resource/isDateValid/",
            data: ($('#resource_datein').val() + "-" + $('#resource_hourin').val() + "-" + $('#resource_minutein').val()),
        type: "POST",
        sucess: ajaxsuccess(result)
    }
    );
});

Мой метод вызова на успех

function ajaxsuccess(result) {
    alert("ajax lykkes!" + result);
}

И метод контроллера, который является частью открытого класса ResourceController: DataTablesController

    [HttpPost]
    public bool isDateValid(string dateIn)
    {

        return true;
    }

строка dateIn просто возвращает ноль, если я установил дату

1 Ответ

1 голос
/ 18 августа 2011

попробуйте что-то вроде

//js

var data = $("myform").serialize(); //Might be serializeArray() not on dev machine sorry

$.post("Resource/isDateValid/", data, function(data){
   alert(data.Success);
}, "json");

Контроллер (при условии, что Resource является классом из-за подчеркивания в идентификаторах ...)

[HttpPost]
public JsonResult(Resource resource) //or (DateTime resource_datein, int resource_hourin)
{
    bool success = true;

    //Do something with posted data

    return Json(new { Success = success});
}

РЕДАКТИРОВАТЬ (re comment)

снимите () с вызова функции AjaxSuccess в $ .post

$('.datein').change(function () {
            //send servervalidering ajax
            var data = $(".datein").serialize();
            $.post("Resource/isDateValid", data, ajaxsuccess, "text");
        });

с

function ajaxsuccess(data)
{
   alert(data.Success); // in your case alert(data); because it's "text"?
}

также из-за того, что вы не сериализуете всю форму, ваши данные должны быть:

var data = {dateIn : $(".datein").val()};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...