2015-09-09 83 views
0

我有下面的Ajax請求發佈數據

var data = { ID: "data" }; 
$.ajax({ 
    type: "POST", 
    cache: false, 
    url: url, 
    data:data, 
    processData: false, 
    contentType: false, 
    success: function (result) {}, 
    error: function (response) {} 
}); 

,我有這樣的MVC控制器

[HttpPost] 
public ActionResult Test(string ID) 
{   
    return Json(new { isSuccess = true }, JsonRequestBehavior.AllowGet); 
} 

的問題是,在控制器中的ID是走出空。如果我使用formdata,那麼它的作品。我無法使用formdata,因爲它不適用於IE9。我有一些與IFrames合作的東西,但它太複雜,有點破解。

var fd = new FormData(); 
fd.append("ID", "data"); 

有人可以告訴我如何使它工作。還有,我們如何才能在不使用formdata的情況下將文件傳輸到服務器。

+0

您的控制器不能讀取請求對象並取出數據嗎? – lerxstrulz

+0

請求對象內沒有任何內容。 – user1221989

+1

你有手動將你的contentType設置爲false的原因嗎?將processData設置爲false也可能是您的問題。 – JDupont

回答

0

嘗試使用

$.post(url, data) 
    .done(successClbck) 
    .fail(errorClbck) 

,而不是$.ajax。它適用於所有數據對象,但不適用於文件