2011-08-18 73 views
0

我想解析2個字符串(只測試一個atm(從日期選擇器的日期和2個文本字段的小時和分鐘),但我無法弄清楚如何從我的Ajax調用我調用該方法分析數據,我知道它叫我用的斷點檢查,但它的參數僅僅是空如何解析變量從ajax到控制器,並返回一個布爾值

我的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) 
    } 
    ); 
}); 

我的成功methodcall

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

而且這是公共類ResourceController的一部分控制器的方法:DataTablesController

[HttpPost] 
    public bool isDateValid(string dateIn) 
    { 

     return true; 
    } 

串dateIn剛剛返回null如果我設置一個日期

+0

你有一個錯字:'sucess:ajaxsuccess(result)'應該是'成功:ajaxsuccess(result)'。 –

+0

謝謝,但參數仍然爲空,它也看起來像在警報進入動作方法之前顯示,它不應該在動作方法的結果之前啓動彈出窗口:/ – Mech0z

+0

必須檢查螢火蟲是你得到迴應? – Rafay

回答

1

嘗試像

//js 

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

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

控制器(假設資源是一個類,因爲ID中的下劃線...)

[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}); 
} 

編輯(再評論)

採取()關閉在$。員額

$('.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"? 
} 

還有的ajaxSuccess函數調用,因爲你不是序列化整個表格數據應該是:

var data = {dateIn : $(".datein").val()}; 
+0

isDataValid仍然只收到空值http://pastebin.com/rZ59Ct4R,並且在警報被解僱之前,操作仍然不會被調用 – Mech0z

+0

將$()從$ .post中的AjaxSuccess函數調用關閉 – Rob

相關問題