我有一個控制器的方法爲什麼沒有POST參數不會返回JSON
[HttpPost]
public ActionResult GetUserData()
{
return Json(GetCurrentUser());
}
我叫它$。阿賈克斯()通過這樣的方法:
ServerCall: function (method, args, callback) {
$.ajax({
type: 'POST',
url: method,
data: JSON.stringify(args),
contentType: 'application/json;charset=utf8',
dataType: 'json',
success: function (result) {
if (callback) {
callback(result);
}
},
error: function (err) {
}
});
}
與呼叫是:
ServerCall('GetUserData', null, function(data){
});
正因爲如此,當我做這樣的判斷,$就返回成功,但「數據」爲空。調試,responseText是空的。在服務器端,GetUserData被調用,並且它返回一個正確格式化的Json對象(我已經創建了我自己的JSON ActionResult並驗證數據確實正在寫入響應流。
If我添加一個虛擬參數到服務器端方法:
[HttpPost]
public ActionResult GetUserData(string temp)
{
return Json(GetCurrentUser));
}
一切完美瀏覽器是IE8我的問題是,任何人都可以解釋爲什麼這種情況正在發生
更新:?
注意解決方法解決方案如下:我會的仍然有興趣瞭解根本原因。
在IE9中仍然存在問題 – 2013-02-21 23:50:16