character พิเศษบางตัวที่จะทำ syntax ของ javascript มัน error


แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
jataz2
PHP Super Member
PHP Super Member
Posts: 238
Joined: 22/02/2011 11:48 am

character พิเศษบางตัวที่จะทำ syntax ของ javascript มัน error

Post by jataz2 » 31/07/2019 9:14 am

ถ้าเพื่อนๆ เขียน .net web application และต้องการ alert ข้อความที่ error code behind ตอนเกิด catch exception เช่น StackTrace
ให้เห็นบนหน้าเว็บได้ชัดๆ ข้อความใน StackTrace มันอาจจะมีทั้่ง tab ตัวขึ้นบรรทัดใหม่ อักษร ' หรืออักษร "
เมื่อส่งไปแสดงผลที่หน้าเว็บ javascript alert มันจะเกิด error หน้าเว็บ

ยกตัวอย่างเช่น StackTrace มีค่าดังนี้ Can not process your reqest because field 'CountryName' exceed maximum length
จะสังเกตุว่าภายในข้อความมีเครื่องหมาย '

alert('Can not process your reqest because field 'CountryName' exceed maximum length');

พอเป็นแบบนี้มันจึงทำให้ syntax ของ javascript alert มันผิดเพราะตัดคำสิ้นสุดลงแล้ว

alert('Can not process your reqest because field 'CountryName' exceed maximum length');

วิธีแก้คือ เราต้อง replace อักขระพิเศษใน StackTrace ออกให้หมดก่อน โดยใช้ code ด้านล่างนี้ได้

Code: Select all

public static string RemoveLineEndings(string value)
        {
            if (String.IsNullOrEmpty(value))
            {
                return value;
            }
            string lineSeparator = ((char)0x2028).ToString();
            string paragraphSeparator = ((char)0x2029).ToString();

            return value.Replace("\r\n", string.Empty)
                        .Replace("\n", string.Empty)
                        .Replace("\r", string.Empty)
                        .Replace("\b", string.Empty)
                        .Replace("\f", string.Empty)
                        .Replace("\t", string.Empty)
                        .Replace("\\", string.Empty)
                        .Replace("'", string.Empty)
                        .Replace("\"", string.Empty)
                        .Replace(lineSeparator, string.Empty)
                        .Replace(paragraphSeparator, string.Empty);
        }

Return to “Programming - C/C++ & java & Python”

Users browsing this forum: No registered users and 4 guests