No se puede concatenar text en JXA

Estoy tratando de upload al carro de Javascript para Automatización. Escribí un guión rápido que automatiza mi correo electrónico de request de viaje, con algunos cuadros de dialog.

Aquí está mi código:

  • ¿El trabajo de Cron falla debido al wifi para dormir?
  • ¿Cómo debería un usuario de OS X verificar si los datos de la copy de security comprenden todo lo necesario para la restauración sin pérdida?
  • ¿Cómo puedo pausar GIF animados en Messages.app en OS X?
  • OS X no arrancará. errno 19
  • Alternativa de utilidad Ext2 "e2cp" para OS X
  • WiFi ya no se conecta (solo networking específica)
  • Mail = Application("Mail"); Mail.includeStandardAdditions = true Origin = Mail.displayDialog( 'Where is the trip starting from?', { defaultAnswer: 'Shanghai', buttons:["Cancel", "Continue"], defaultButton: "Continue" }) Destination = Mail.displayDialog( 'Where is the trip to?', { defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) StartDate = Mail.displayDialog( 'When are you leaving?', { title: "Onward Flight Date", defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) RtnDate = Mail.displayDialog( 'When are you returning?', { title: "Return Flight Date", defaultAnswer: "", buttons:["Cancel", "Continue"], defaultButton: "Continue" }) content = 'Hi \n\n' + 'I am currently trying to arrange travel for an upcoming trip.\n\n' + 'Could you please help me in sorting out the flights, hotels and airport transfers?\n\n' + 'Please find below the details of the trip:\n\n' + 'FLIGHTS\n\n' + 'Onward Journey:\n'+ '\n' + ' From \t\t\t\t- ' + Origin.text +'\n' + ' To \t\t\t\t\t- ' + Destination + '\n' + ' Date of Departure \t- ' + StartDate + '\n' + '\n' + 'Return Journey:\n'+ '\n' + ' From \t\t\t\t- ' + Destination + '\n' + ' To \t\t\t\t\t- ' + Origin + '\n' + ' Date of Departure \t- ' +RtnDate+ '\n' + '\n' + 'Prefernetworking Airline \t\t\t\t- Star Alliance \n' + 'Meal Preference \t\t\t\t- Vegetarian\n'+ '\n' + 'Loyalty Program\t\t\t\t- United:\n' + '\n ________________________________________ \n'+ '\n' + 'HOTEL\n\n' + ' CheckIn Date \t\t- ' + StartDate + '\n' + ' CheckOut Date \t\t- ' + RtnDate + '\n' + '\n' + 'Prefernetworking Hotels \t\t\t\t- SPG\n' + 'Loyalty Program \t\t\t\t- SPG:\n' + '\n ________________________________________ \n'+ '\n' + 'Thank you\n' msg = Mail.OutgoingMessage({ subject: 'Itinerary Request - ', content: content, visible: true }); Mail.outgoingMessages.push(msg); Mail.activate(); 

    Pero cuando ejecuto el script, los lugares donde he usado las variables parecen venir como [object Object]. (Mostrado a continuación)

    Resultado

    ¿Alguien puede señalar dónde me estoy equivocando?

  • ¿Cómo usar la opción Mantener en Dock con aplicaciones iniciadas desde la console?
  • Mac OS X: Copia de security de mi Mac
  • Usando NFS entre OSX y Ubuntu con fluidos mal emparejados
  • ¿Cliente de correo rápido para OS X?
  • ¿Hay algún cambio o nuevas características sobre Terminal.app en High Sierra?
  • ¿Por qué se lanza iChat cada vez que despierto mis monitores?
  • One Solution collect form web for “No se puede concatenar text en JXA”

    displayDialog devuelve un object, no una cadena. Al imprimir un object como una cadena, se muestra como [object Object]. El object devuelto por displayDialog es el siguiente:

     {"buttonReturned":"Continue", "textReturned":"your text here"} 

    Por lo tanto, debe usar la propiedad textReturned del object. Pareció intentar esto cuando accedió a la propiedad de text de Origin, pero como la propiedad se llama 'textReturned', tampoco funcionó. Para cada una de las variables donde lo está imprimiendo en una cadena, reemplace

     + ' From \t\t\t\t- ' + Origin.text +'\n' + ' To \t\t\t\t\t- ' + Destination + '\n' 

    con

     + ' From \t\t\t\t- ' + Origin.textReturned +'\n' + ' To \t\t\t\t\t- ' + Destination.textReturned + '\n' 

    En el futuro, cuando intente depurar algo así, cree un ejemplo mínimo, completo y verificable . En este caso, solo use un displayDialog y observe el valor de la variable. (En general, se requiere MCVE en las preguntas de Stack Exchange, y creo que esta pregunta empujó ese límite para proporcionar un guión completo).

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).