第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將 JSON 從 C# 解析為 AngularJS

將 JSON 從 C# 解析為 AngularJS

C#
胡子哥哥 2021-06-02 14:58:15
我有一個(gè)文件名數(shù)組:[HttpPost]    public JsonResult GetJSONFilesList()    {        string[] filesArray = Directory.GetFiles("/UploadedFiles/");        for (int i = 0; i < filesArray.Length; i++)        {            filesArray[i] = Path.GetFileName(filesArray[i]);        }        return Json(filesArray);    }我需要在 AngularJS 中將此作為對(duì)象列表,以便我可以重復(fù)它并應(yīng)用過(guò)濾器。我無(wú)法弄清楚如何將 JSON 從 MVC 控制器獲取到 AngularJS。我已經(jīng)嘗試了以下方法使其對(duì)視圖可見(jiàn)以獲取角度,但我不知道如何讓 ng-init 看到返回列表的函數(shù)。它在“SerializeObject(GetJSONFilesList())”上出錯(cuò),說(shuō)它在當(dāng)前上下文中不存在。<div ng-controller="MyController" data-ng-init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(GetJSONFilesList()),         @Newtonsoft.Json.JsonConvert.SerializeObject(Model.Done))" ng-cloak>        </div>編輯: 我試過(guò)使用 http.get。測(cè)試一:alert('page load'); $scope.hello = 'hello';   $http.get('http://rest-service.guides.spring.io/greeting').        then(function (response) {            $scope.greeting = response.data;            alert($scope.greeting);        }); alert($scope.hello);http.get 中的警報(bào)永遠(yuǎn)不會(huì)觸發(fā),但是其他警報(bào)會(huì)觸發(fā)。測(cè)試二:$http({        url: '/Home/testHello',        method: 'GET'    }).success(function (data, status, headers, config) {        $scope.hello = data;        alert('hi');        });[HttpPost]        public string testHello()        {            return "hello world";         }這會(huì)導(dǎo)致 angular 中斷并且 .js 中的任何內(nèi)容都不起作用。
查看完整描述

3 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

其他答案說(shuō)在角度函數(shù)中使用 .success,不推薦使用 .success 和 .error ,而應(yīng)該使用 .then 。


工作結(jié)果:


MVC:


public JsonResult GetFileList()

    {

        //form array here

        return Json(myArray, JsonRequestBehavior.AllowGet);

    }

該函數(shù)需要是 JsonResult 類(lèi)型,并且使用 JsonRequestBehavior.AllowGet 返回 Json 的值。


AngularJS:


$scope.fileList;

    $http.get("/Home/GetFileList").then(function (result) {

        console.log(result)

        $scope.fileList = result.data;

    })

這是在我的 AJS 控制器中,使用 .then 而不是 .success。如果您使用 console.log 從 mvc 控制器返回的結(jié)果并在瀏覽器中查看它,您將看到帶有許多其他信息的對(duì)象,并且您想要的值位于對(duì)象的 .data 部分。


因此,要訪(fǎng)問(wèn)您需要執(zhí)行 result.data 的值。在我的情況下,這給了我和數(shù)組。我將它分配給一個(gè)范圍。然后在我看來(lái),我可以通過(guò)執(zhí)行 {{fileList[1]}} 等來(lái)訪(fǎng)問(wèn)這些值。這也可以在 ng-repeat 中使用,例如:


<div ng-repeat="file in fileList">                        

                    {{fileList[$index]}}

</div>

重復(fù)數(shù)組中的每個(gè)值都可以使用 $index 訪(fǎng)問(wèn),它是從 0 開(kāi)始的重復(fù)次數(shù)。


查看完整回答
反對(duì) 回復(fù) 2021-06-05
  • 3 回答
  • 0 關(guān)注
  • 188 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)