ROOM64 / KNOWLEDGE / N8N

ปัญหาทั่วไป

Common issues — เอกสารประกอบสำหรับปัญหาและคำถามทั่วไปใน node โค้ดใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงรายละเอียดของปัญหาและแนวทางแก้ไขที่แนะนำ

อ่านต้นฉบับที่ n8n Official Docs ↗
คำแปลอัตโนมัติภาษาไทย แปลด้วย Google Translate / M2M100 จากเอกสาร n8n ณ วันที่ 2026-09-28 ยังไม่ได้ตรวจทานทางเทคนิคทุกหน้า โค้ดและ expression คงตามต้นฉบับ ชื่อ node เมนู และศัพท์เทคนิคคงภาษาอังกฤษเพื่อเทียบกับหน้าจอ n8n

Core nodes · จัดการข้อมูลและลำดับงาน · Common issues

← Code

สารบัญในหน้านี้

เอกสารประกอบสำหรับปัญหาและคำถามทั่วไปใน node โค้ดใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงรายละเอียดของปัญหาและแนวทางแก้ไขที่แนะนำ

ต่อไปนี้เป็นข้อผิดพลาดและปัญหาทั่วไปบางประการเกี่ยวกับ Code และขั้นตอนในการแก้ไขหรือแก้ไขปัญหาเหล่านั้น

รหัสส่งคืนสินค้าไม่ถูกต้อง

ข้อผิดพลาดนี้เกิดขึ้นเมื่อโค้ดใน node โค้ดของคุณไม่ส่งคืนข้อมูลในรูปแบบที่คาดไว้

ใน n8n ข้อมูลทั้งหมดที่ส่งระหว่าง node จะเป็น array ของ object แต่ละวัตถุเหล่านี้ล้อมวัตถุอื่นด้วย json คีย์:

[
  {
    "json": {
	  // your data goes here
	}
  }
]

หากต้องการแก้ไขข้อผิดพลาดนี้ ให้ตรวจสอบสิ่งต่อไปนี้:

  • อ่าน โครงสร้างข้อมูล เพื่อทำความเข้าใจข้อมูลที่คุณได้รับใน node รหัสและข้อกำหนดสำหรับการส่งออกข้อมูลจาก node
  • ทำความเข้าใจวิธีการทำงานของรายการข้อมูลและวิธีเชื่อมต่อรายการข้อมูลจาก node ก่อนหน้าด้วย การเชื่อมโยงรายการ .

คุณสมบัติ 'json' ไม่ใช่วัตถุ

ข้อผิดพลาดนี้เกิดขึ้นเมื่อ node รหัสส่งคืนข้อมูลที่ json คีย์ไม่ได้ชี้ไปที่วัตถุ

สิ่งนี้อาจเกิดขึ้นหากคุณตั้งค่า json ไปยังโครงสร้างข้อมูลอื่น เช่น array:

[
  {
    "json": [
	  // Setting `json` to an array like this will produce an error
	]
  }
]

เพื่อแก้ไขปัญหานี้ ตรวจสอบให้แน่ใจว่า json คีย์อ้างอิงวัตถุในข้อมูลที่ส่งคืนของคุณ:

[
  {
    "json": {
	  // Setting `json` to an object as expected
	}
  }
]

รหัสไม่ส่งคืนวัตถุ

ข้อผิดพลาดนี้อาจเกิดขึ้นเมื่อ node โค้ดของคุณไม่ส่งคืนสิ่งใดๆ หรือหากส่งคืนผลลัพธ์ที่ไม่คาดคิด

เพื่อแก้ไขปัญหานี้ ตรวจสอบให้แน่ใจว่า node โค้ดของคุณส่งคืนไฟล์ โครงสร้างข้อมูลที่คาดหวัง :

[
  {
    "json": {
	  // your data goes here
	}
  }
]

ข้อผิดพลาดนี้อาจเกิดขึ้นหากรหัสที่คุณให้กลับมา 'undefined' แทนที่จะเป็นผลลัพธ์ที่คาดหวัง ในกรณีนั้น ตรวจสอบให้แน่ใจว่าข้อมูลที่คุณกำลังอ้างอิงใน node โค้ดของคุณมีอยู่ในการดำเนินการแต่ละครั้ง และมีโครงสร้างที่โค้ดของคุณคาดหวัง

'นำเข้า' และ 'ส่งออก' อาจปรากฏที่ระดับบนสุดเท่านั้น

ข้อผิดพลาดนี้เกิดขึ้นหากคุณพยายามใช้ import หรือ export ใน node รหัส แซนด์บ็อกซ์ JavaScript ของ n8n ไม่รองรับสิ่งเหล่านี้ ให้ใช้ require ฟังก์ชั่นในการโหลดโมดูล

เพื่อแก้ไขปัญหานี้ ให้ลองเปลี่ยนของคุณ import ข้อความที่จะใช้ require:

// Original code:
// import express from "express";
// New code:
const express = require("express");

ไม่พบโมดูล '<โมดูล>'

ข้อผิดพลาดนี้เกิดขึ้นหากคุณพยายามใช้ require ใน node รหัสและ n8n ไม่พบโมดูล

สำหรับการโฮสต์ด้วยตนเองเท่านั้น (Only for self-hosted)

n8n ไม่รองรับการนำเข้าโมดูลใน เมฆ รุ่น

ถ้าคุณเป็น โฮสติ้งด้วยตนเอง n8n ให้ทำตามขั้นตอนเหล่านี้:

  • ติดตั้งโมดูลลงในสภาพแวดล้อม n8n ของคุณ
  • ตั้งค่า NODE_FUNCTION_ALLOW_BUILTIN และ NODE_FUNCTION_ALLOW_EXTERNAL ตัวแปรสภาพแวดล้อม เพื่อให้สามารถนำเข้าโมดูลได้

การใช้ตัวแปรโกลบอล

บางครั้งคุณอาจต้องการตั้งค่าและเรียกข้อมูลส่วนกลางแบบง่ายๆ ที่เกี่ยวข้องกับ workflow และภายในการดำเนินการ ตัวอย่างเช่น คุณอาจต้องการรวมวันที่ของรายงานก่อนหน้าเมื่อรวบรวมรายงานพร้อมรายการอัปเดตโครงการ

หากต้องการตั้งค่า อัปเดต และดึงข้อมูลไปยัง workflow โดยตรง ให้ใช้ ข้อมูลคงที่ ฟังก์ชั่นภายในรหัสของคุณ คุณสามารถจัดการข้อมูลได้ทั่วโลกหรือเชื่อมโยงกับ node เฉพาะ

ใช้ลบรายการที่ซ้ำกันเมื่อเป็นไปได้ (Use Remove Duplicates when possible)

หากคุณสนใจที่จะใช้ตัวแปรเพื่อหลีกเลี่ยงการประมวลผลรายการข้อมูลเดียวกันมากกว่าหนึ่งครั้ง ให้พิจารณาใช้ Remove Duplicates แทน node Remove Duplicates สามารถบันทึกข้อมูลระหว่างการดำเนินการเพื่อหลีกเลี่ยงการประมวลผลรายการเดียวกันหลายครั้ง

ไม่สามารถเข้าถึง credentials ใน node รหัส

จากการออกแบบ node โค้ดไม่สามารถเข้าถึง credentials ได้ พวกเขาไม่สามารถเข้าถึงระบบการจัดการ credentials ภายในของ n8n วิธีนี้จะช่วยป้องกันการเปิดเผยข้อมูลการตรวจสอบสิทธิ์ที่ละเอียดอ่อน

ความพยายามในการอ้างอิงข้อมูลประจำตัวใน node รหัสโดยใช้ expression หรือวิธีการเช่น this.getCredentials() หรือ $getCredentials() จะส่งผลให้เกิดข้อผิดพลาด เช่น this.getCredentials is not a function และ $getCredentials is not defined.

หากคุณต้องการทำการเรียก API ที่ได้รับการรับรองความถูกต้อง ให้ใช้ HTTP Request ซึ่งให้การสนับสนุน credentials

หากต้องการทำงานกับ credentials แบบไดนามิก ให้จัดการตรรกะการเลือก credentials ภายนอก node รหัส:

  • ใช้ Switch node หนึ่งไปยังอีก node หนึ่งไปยัง node ต่างๆ ด้วย credentials ที่แตกต่างกัน
  • ใช้ expression โดยตรงในฟิลด์ข้อมูลประจำตัวเพื่อเลือกข้อมูลประจำตัวแบบไดนามิกตามข้อมูล node ก่อนหน้า
  • ใช้ node คำขอ HTTP ที่มี Custom Auth เพื่อตั้งค่าส่วนหัว parameter การสืบค้น หรือค่าเนื้อหาแบบไดนามิกโดยใช้ expression
เอกสารและภาพต้นฉบับ © n8n GmbH · คำแปล คู่มือประกอบ และภาพแนวคิดเพิ่มเติมโดย Room64 · เว็บไซต์นี้ไม่ใช่เอกสารทางการของ n8n · Apache 2.0 พร้อม Commons Clause

มีงานที่อยากให้ Software, AI หรือ Automation ช่วยอยู่ไหม?

เล่า workflow หรือปัญหาที่ทีมกำลังเจอ เราช่วยดูได้ว่าควรใช้ระบบสำเร็จรูป เชื่อมเครื่องมือเดิม หรือพัฒนาเพิ่มเฉพาะส่วนไหน

คุยกับเราทาง LINEhello@room64.net