亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 JavaScript 中接收 C# 枚舉并通過 Ajax 將其傳遞給模型

在 JavaScript 中接收 C# 枚舉并通過 Ajax 將其傳遞給模型

C#
牛魔王的故事 2021-11-28 17:54:19
在我的代碼中,我需要接收一個字符串,將其轉換為 C# 枚舉,然后將該枚舉傳遞給我的模型。代碼位于 for 循環(未顯示)中。 var thisDwm = document.getElementById("dwm_" + i).value;                   var urlDwm = "/KnowledgeTransfer/GetDailyWeeklyMonthlyEnum";            var response            $.ajax({                type: 'GET',                url: urlDwm,                data: { 'caseFromJS': thisDwm },                contentType: 'application/json',                success: function (thisResponse) {                    response = thisResponse;                }            })            model.MainResponsibilities[i].DailyWeeklyMonthly = response;目前,ajax 命中我的 C# 控制器并返回正確的枚舉。但是當我查看 JavaScript 斷點時,“響應”仍未定義且未設置。如何設置對我可以傳遞給模型的 C# 枚舉對象的響應?是否需要進行一些解析?似乎我根本沒有從控制器收到任何東西。沒有幫助的一件事是類型、數據、內容類型、成功和 thisResponse 在 Chrome 中都顯示為“未定義引用錯誤”。然而 Ajax 仍然有效,至少在其他地方,即使這些其他方法也顯示此錯誤。謝謝您的幫助。編輯:下面是我的控制器方法:public ObjectModel.Enums.DailyWeeklyMonthly GetDailyWeeklyMonthlyEnum(string caseFromJS)        {            switch (caseFromJS){                case "Daily":                    return ObjectModel.Enums.DailyWeeklyMonthly.Daily;                case "Weekly":                   return ObjectModel.Enums.DailyWeeklyMonthly.Weekly;                case "Monthly":                   return ObjectModel.Enums.DailyWeeklyMonthly.Monthly;                case "Yearly":                    return ObjectModel.Enums.DailyWeeklyMonthly.Yearly;                default:                    throw new Exception("problem with dailyWeeklyMonthly in KnowledgeTransferController");
查看完整描述

1 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

使用您共享的代碼,如果您在定義變量之前嘗試使用該變量,您將收到 響應未定義錯誤response。在您共享的代碼片段中,您僅在success ajax 調用的回調方法中對其進行初始化。


請記住,ajax 是異步的。當 JavaScript 框架執行此行時model.MainResponsibilities[i].DailyWeeklyMonthly = response;,該行超出了成功回調范圍,ajax 調用可能仍在執行/等待來自服務器的響應,這意味著沒有設置任何內容response,這意味著變量response未初始化!


僅在success或done回調中訪問對 ajax 調用的響應。


$.ajax({

         type: 'GET',

         url: urlDwm,

         data: { 'caseFromJS': thisDwm },

         contentType: 'application/json',

         success: function (thisResponse) {

              // safe to use thisResponse in this callback method scope

              console.log(thisResponse);


              // Assuming model.MainResponsibilities[i] exist

              model.MainResponsibilities[i].DailyWeeklyMonthly = thisResponse;

         }

})


查看完整回答
反對 回復 2021-11-28
  • 1 回答
  • 0 關注
  • 245 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號