![](/img/trans.png)
[英]ASP.Net MVC calling a controller action from FullCalendar's javascript function not loading the view
[英]ASP Net MVC calling function in controller from JS errors
我有一個ASP.Net MVC項目,我試圖在我的PunchesController中調用一個名為jobs的方法。 我在方法上設置了一個調試器,它命中了jobs方法並返回正確的結果。 我甚至從Advanced Rest Client調用了jobs方法,它返回了正確的結果。
但是在jquery方法中我得到“Uncaught TypeError:f.QueryResponseHeaders不是一個函數”,我通過Google /堆棧溢出找不到多少。
json從PunchesController中的Jobs方法返回
[
{
"Job":{
"Id":"5932c49d-5f1b-443c-b43c-6107c832b07b",
"Name":"Featured Actor"
},
"Status":0,
"StartDate":"2015-08-12T00:00:00",
"EndDate":"0001-01-01T00:00:00",
"PayRate":20000000.0,
"Companies":[
{
"Id":"cb0e96a4-eaf2-4966-810f-7949581ba3fe",
"Name":"Test Company"
}
],
"Id":"21aebb35-ade3-4cb3-83bb-db47824d1509",
}
]
我已經嘗試向GET調用添加一個錯誤處理程序,但它永遠不會命中它。 它始終會向控制台打印“Uncaught TypeError:f.QueryResponseHeaders不是函數”,就是這樣。 有任何想法嗎?
您是否嘗試過添加contentType
參數?:
$.ajax({
url: '/punches/jobs/' + employeeId,
dataType: 'json',
type: "GET",
contentType: "application/json; charset=utf-8",
success: function (response) {
console.log(response);
}
});
此外,您可以使用$ .getJSON() :
$.getJSON(url, params, function (response) {
console.log(response);
});
作為旁注,從jQuery v1.4開始,參數的序列化已經改變。 如果需要支持先前的param序列化,則可能需要將traditional
設置為true
。 有關文檔的更多信息,請點擊此處 。
在每次調用時設置屬性,如下所示:
$.ajax({
...
traditional: true,
...
});
或者像這樣全局設置它(這將適用於所有進一步的ajax調用):
$.ajaxSetup({
traditional:true
});
我預感到我的jquery版本從2.1.4降級到1.11.3,現在一切正常。 我不確定導致錯誤的是什么,但它至少是固定的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.