How to resolve the error - cannot read property 'play' of undefined?

396    Asked by DavidEdmunds in Salesforce , Asked on Mar 1, 2023

I'm getting the above error in the below code.


@api guestFirstName; //getting these from parent component
@api guestLastName;
@api guestPhoneNumber;
@api guestCodeFromGuestMaster;
@api guestEmailFromGuestMaster;
//LWC code
   sendEmailAfterEvent() {
    const recordInput = { toSend: this.guestEmailFromGuestMaster, firstName: this.guestFirstName, lastName: this.guestLastName, phoneNumber: this.guestPhoneNumber }  //send parameters
    sendEmailToController(recordInput).then(response => {
        console.log('Email has been sent...!');
    }).catch(error => {
        console.log('facing error in sending email ',error.message.body); //If there is an error on response
    })
}
//APEX controller code
public with sharing class ControllerLwcExample {
@AuraEnabled(cacheable=true)
public static void sendEmailToController(String toSend, string firstName, string lastName, Integer phoneNumber){
    try{
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        String[] toAddresses = new String[] {toSend};
        mail.setToAddresses(toAddresses);
        mail.setSubject('Booking Confirmation');
        String body = 'Dear ' + firstName + ', ';
        body += 'Your booking has been confirmed.';
        body += 'Please find the details below:';
        body += 'First Name: '+firstName;
        body += 'Last Name: '+lastName;
        body += 'Phone Number: '+phoneNumber;
        body += 'Regards';
        body += 'Hotel Hotel Hotel';
        mail.setHtmlBody(body);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
    }catch(Exception ex){
        throw new AuraHandledException(ex.getMessage());
    }
}
}

I don't find any problem with the above code but I'm still getting the below error. Any help would be appreciated.

error: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'body')


Answered by Diya tomar

 To resolve the error - cannot read property 'play' of undefined, you must understand that - You likely have two errors. The first is that you are trying to send an email from a cacheable method (which you can't do, as a cacheable cannot perform DML).

This will be causing an error. Change:

@AuraEnabled(cacheable=true) to @AuraEnabled
Then, this error is getting to the LWC component, and this is where you are getting the body issue. Javascript exceptions don't have a body property on the message
Change: error.message.body to error.message
(Either that or try Phil's comment) (error.body.message)


Your Answer

Answer (1)

scratch games online updates are really detailed for effective access and tracking. Each information function really needs absolute precision to achieve maximum program running efficiency. Unlike traditional game platforms, Scratch allows anyone to create their own games without knowing much about programming. Drag-and-drop programming tools make it easy for users to create movements, effects, and character controls.

1 Week

Interviews

Parent Categories