简体   繁体   中英

How to loop through Ajax success results multidimensional

I am trying to Alert out error messages received from an Ajax post. When one error is returned, the alert message displays appropriately. However, when more than one is returned, I get "Undefined". How can display both a single error message and a list of multiple error messages? Thanks.

Sample results:

{"Status":{"Code":"400","Description":"Validation Failed. Please check your input parameters."},"Errors":[{"Code":"7106","Description":"The subscriber type is required"},{"Code":"7108","Description":"The service address house number is required"},{"Code":"7109","Description":"The service address street name is required"},{"Code":"7110","Description":"The service address city is required"},{"Code":"7111","Description":"The service address state code is required"},{"Code":"7112","Description":"The service address zip code is required"},{"Code":"7115","Description":"The LOA authorizing person is required"},{"Code":"7101","Description":"At least one number must be specified to port"}],"ProcessingStatus":"EXCEPTION","RequestedFocDate":"2022-07-07T21:15:00Z","LoaAuthorizingPerson":{},"Subscriber":{"FirstName":"Steve","LastName":"McKinnon","ServiceAddress":{"HousePrefix":{},"HouseNumber":{},"HouseSuffix":{},"StreetName":{},"City":{},"StateCode":{},"Zip":{}}},"WirelessInfo":{"AccountNumber":{},"PinNumber":{}},"BillingTelephoneNumber":{},"NewBillingTelephoneNumber":{},"ListOfPhoneNumbers":{},"Triggered":"false","TnAttributes":{}}

My Attempt:

$.each(result['Errors']['Description'], function(index, val) {
            $.each(val, function(index, val2) {
                alert(val2.Code+" : "+val2.Description);
         });

You're diving too deep.

 $(function() { var results = { "Status": { "Code": "400", "Description": "Validation Failed. Please check your input parameters." }, "Errors": [{ "Code": "7106", "Description": "The subscriber type is required" }, { "Code": "7108", "Description": "The service address house number is required" }, { "Code": "7109", "Description": "The service address street name is required" }, { "Code": "7110", "Description": "The service address city is required" }, { "Code": "7111", "Description": "The service address state code is required" }, { "Code": "7112", "Description": "The service address zip code is required" }, { "Code": "7115", "Description": "The LOA authorizing person is required" }, { "Code": "7101", "Description": "At least one number must be specified to port" }], "ProcessingStatus": "EXCEPTION", "RequestedFocDate": "2022-07-07T21:15:00Z", "LoaAuthorizingPerson": {}, "Subscriber": { "FirstName": "Steve", "LastName": "McKinnon", "ServiceAddress": { "HousePrefix": {}, "HouseNumber": {}, "HouseSuffix": {}, "StreetName": {}, "City": {}, "StateCode": {}, "Zip": {} } }, "WirelessInfo": { "AccountNumber": {}, "PinNumber": {} }, "BillingTelephoneNumber": {}, "NewBillingTelephoneNumber": {}, "ListOfPhoneNumbers": {}, "Triggered": "false", "TnAttributes": {} }; $.each(results.Errors, function(i, error) { console.log(error.Code, error.Description); }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Errors is an Array of Objects. If you want to capture Description for each Error, you will need to iterate the Array and capture the one Index.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM