我想要解析两个字符串(只测试一个atm(从一个日期选择器中获取日期,从两个文本字段中计算小时和分钟。但是我无法弄清楚如何从我的ajax调用中解析数据到我调用的方法,我知道它被调用,因为我检查了一个断点,但它的参数只是null。
我的阿贾克斯:
$('.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;
}
string dateIn如果我设置了日期,则返回null
答案 0 :(得分:1)
尝试类似
的内容//js
var data = $("myform").serialize(); //Might be serializeArray() not on dev machine sorry
$.post("Resource/isDateValid/", data, function(data){
alert(data.Success);
}, "json");
控制器(假设资源是一个类,因为ids中有下划线...)
[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});
}
编辑(评论)
从$ .post
中取消AjaxSuccess函数调用中的()$('.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()};