Я пытаюсь извлечь данные из ИБП для отслеживания в электронную таблицу. Сторона signedforbyname XML-канала иногда присутствует, а иногда нет. Когда его нет, возникает проблема: TypeError: Невозможно прочитать свойство «Текст» из неопределенного. (строка 60, файл «Код») Если я прокомментирую строку 60, которая ищет имя signedforbyname, я в порядке после того, как я также вытащил переменную из строки, которая должна быть сгенерирована.google листы проблемы с xml
Я не очень хорошо знаком с javascript, поэтому я, вероятно, просто делаю глупое синтаксическое действие, что было бы здорово. Я все для легкого ответа. Если бы кто-то мог указать мне в правильном направлении с этим снипп, я был бы признателен.
Я понял, что если тогда проверить, будет ли это значение, то это будет работать, но, похоже, не работает, поскольку одна и та же ошибка возникает в том же месте с или без if/then (даже если я испортил синтаксис).
код, который я промазал на:
catch(err) {
if (jsonText.TrackResponse.Shipment.Package.Activity.ActivityLocation.SignedForByName.Text !==null){
var signedBy = jsonText.TrackResponse.Shipment.Package.Activity.ActivityLocation.SignedForByName.Text;}
else {var signedBy = "No Signature";}
var dropLocation = jsonText.TrackResponse.Shipment.Package.Activity.ActivityLocation.Description.Text;
var estDate = 'Signed By: '+signedBy+' @ '+dropLocation;
XML из журнала:
[15-03-28 07:52:43:381 CST] Xml.parse([<?xml version="1.0"?>
<TrackResponse><Response><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><Shipment><Shipper><ShipperNumber>xxxx</ShipperNumber><Address><AddressLine1>xxxxx</AddressLine1><City>TRACY</City><StateProvinceCode>CA</StateProvinceCode><PostalCode>95304 9370</PostalCode><CountryCode>US</CountryCode></Address></Shipper><ShipTo><Address><City>ROUNDUP</City><StateProvinceCode>MT</StateProvinceCode><PostalCode>59072</PostalCode><CountryCode>US</CountryCode></Address></ShipTo><ShipmentWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>4.90</Weight></ShipmentWeight><Service><Code>003</Code><Description>GROUND</Description></Service><ReferenceNumber><Code>01</Code><Value>xxxxxxxx</Value></ReferenceNumber><ShipmentIdentificationNumber>1ZA85Y090310073852</ShipmentIdentificationNumber><PickupDate>20150318</PickupDate><DeliveryDateUnavailable><Type>Scheduled Delivery</Type><Description>Scheduled Delivery Date is not currently available, please try back later</Description></DeliveryDateUnavailable><Package><TrackingNumber>1ZA85Y090310073852</TrackingNumber><Activity><ActivityLocation><Address><City>ROUNDUP</City><StateProvinceCode>MT</StateProvinceCode><PostalCode>59072</PostalCode><CountryCode>US</CountryCode></Address><Code>MP</Code><Description>GARAGE</Description></ActivityLocation><Status><StatusType><Code>D</Code><Description>DELIVERED</Description></StatusType><StatusCode><Code>FS</Code></StatusCode></Status><Date>20150323</Date><Time>131200</Time></Activity><PackageWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>4.90</Weight></PackageWeight><ReferenceNumber><Code>01</Code><Value>FN1-2514196-2965923</Value></ReferenceNumber><ReferenceNumber><Code>01</Code><Value>D3M0KFD7K</Value></ReferenceNumber><ReferenceNumber><Code>01</Code><Value>NA</Value></ReferenceNumber><ReferenceNumber><Code>01</Code><Value>UPS-CAOAK-T00441361L UPS842508 UP</Value></ReferenceNumber></Package></Shipment></TrackResponse>, true]) [0.067 seconds]
[15-03-28 07:52:43:450 CST] Logger.log([{TrackResponse={Response={ResponseStatusCode={Text=1}, ResponseStatusDescription={Text=Success}}, Shipment={ShipmentIdentificationNumber={Text=1ZA85Y090310073852}, Service={Description={Text=GROUND}, code={Text=003}}, ReferenceNumber={Value={Text=129821607}, code={Text=01}}, Shipper={address={PostalCode={Text=95304 9370}, StateProvinceCode={Text=CA}, CountryCode={Text=US}, AddressLine1={Text=xxxxx}, City={Text=TRACY}}, ShipperNumber={Text=xxxx}}, Package={Activity={Status={StatusCode={code={Text=FS}}, StatusType={Description={Text=DELIVERED}, code={Text=D}}}, Time={Text=131200}, Date={Text=20150323}, ActivityLocation={Description={Text=GARAGE}, address={PostalCode={Text=59072}, StateProvinceCode={Text=MT}, CountryCode={Text=US}, City={Text=ROUNDUP}}, code={Text=MP}}}, ReferenceNumber=[{Value={Text=FN1-2514196-2965923}, code={Text=01}}, {Value={Text=D3M0KFD7K}, code={Text=01}}, {Value={Text=NA}, code={Text=01}}, {Value={Text=UPS-CAOAK-T00441361L UPS842508 UP}, code={Text=01}}], TrackingNumber={Text=1ZA85Y090310073852}, PackageWeight={UnitOfMeasurement={code={Text=LBS}}, Weight={Text=4.90}}}, ShipmentWeight={UnitOfMeasurement={code={Text=LBS}}, Weight={Text=4.90}}, DeliveryDateUnavailable={Description={Text=Scheduled Delivery Date is not currently available, please try back later}, Type={Text=Scheduled Delivery}}, PickupDate={Text=20150318}, ShipTo={address={PostalCode={Text=59072}, StateProvinceCode={Text=MT}, CountryCode={Text=US}, City={Text=ROUNDUP}}}}}}, []]) [0.001 seconds]
[15-03-28 07:52:43:451 CST] Logger.log([1, []]) [0 seconds]
[15-03-28 07:52:43:523 CST] Execution failed: TypeError: Cannot read property "Text" from undefined. (line 60, file "Code") [0.551 seconds total runtime]
Я пробовал редактировать его до того, что вы предложили, и получил ту же ошибку. То же самое с! == undefined. Любые другие идеи, что я могу здесь сделать? TypeError: Невозможно прочитать свойство «Текст» из неопределенного. (строка 60, файл «Код») Dismiss – Rodger
Хм, я попробую, но вы уверены, что попадаете в блок 'catch'? Может быть, есть больше контекста в вопросе? – Gerald
well line 60 - это строка в блоке catch, и если я удаляю материал if/then и просто комментирую это, он проходит и обрабатывает просто отлично ... если нет подписи, и в этом случае она пропускает ее с тех пор это прокомментировано ... Я не уверен, какой контекст вы ищете. В основном я стараюсь иметь дело с неопределенным значением, когда его там нет. Код не нравится и генерирует ошибку, и я не могу написать код, чтобы справиться с этим. Я не знаю, почему это вообще происходит. Я больше ничего не вижу с ошибкой. – Rodger