Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Client Script Forum > สอบการเรียกตัวแปร จาก function callback success จาก lib webtwin



 

สอบการเรียกตัวแปร จาก function callback success จาก lib webtwin

 



Topic : 136153



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์




Code (JavaScript)

var imageBase64;

this.DWObject.ConvertToBase64(
                  aryIndices,
                  Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
                  asyncSuccessFunc,
                  asyncFailureFunc
                );

                function asyncSuccessFunc(
                  base64Result,
                  newIndices,
                  enumImageType,
                  _arguments
                ) {
                  var length = base64Result.getLength();
                  imageBase64 += base64Result.getData(0, length);
                }
                function asyncFailureFunc(
                  errorCode,
                  errorString,
                  newIndices,
                  enumImageType,
                  _arguments
                ) {
                  alert(
                    "ErrorCode: " +
                      errorCode +
                      "\r" +
                      "ErrorString:" +
                      errorString
                  );
                }

console.log(imageBase64)



ผมต้องการเรียน ตัวแปร imageBase64 ออกมา ตอนนี้มันเกิด undefined ค่าของมัน
function ข่างบนนี้ ต้องเรียกค่ามาแบบไหนครับ ขอบคุณครับ



Tag : MySQL, JavaScript, Ajax, jQuery, Node.js









ประวัติการแก้ไข
2021-06-02 08:04:14
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-06-02 07:36:56 By : menphurk View : 572 Reply : 8
 

 

No. 1



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้า console.log(base64Result) ใน asyncSuccessFunc ไม่ใช่ undefined หรือมีข้อมูล

แสดงว่า console.log(imageBase64) ล่างสุด อ่านก่อน ConvertToBase64() จะทำงานเสร็จ
ลองเรียกเป็นฟังก์ชันใน asyncSuccessFunc เช่น

Code (JavaScript)
//var imageBase64;

this.DWObject.ConvertToBase64(
                  aryIndices,
                  Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
                  asyncSuccessFunc,
                  asyncFailureFunc
                );

                function asyncSuccessFunc(
                  base64Result,
                  newIndices,
                  enumImageType,
                  _arguments
                ) {
                  var length = base64Result.getLength();
                  //imageBase64 += base64Result.getData(0, length);
                  toDoAfterConvert(base64Result.getData(0, length));
                }
                function asyncFailureFunc(
                  errorCode,
                  errorString,
                  newIndices,
                  enumImageType,
                  _arguments
                ) {
                  alert(
                    "ErrorCode: " +
                      errorCode +
                      "\r" +
                      "ErrorString:" +
                      errorString
                  );
                }

function toDoAfterConvert(imageBase64) {
    console.log(imageBase64);
}










ประวัติการแก้ไข
2021-06-02 15:22:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 15:21:37 By : TheGreatGod_of_Death
 


 

No. 2



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-02 15:21:37
รายละเอียดของการตอบ ::
Code (JavaScript)
                function toDoAfterConvert(imageBase64) {
                  //console.log(imageBase64);
                  let datalotimport = {
                    uploadfilename,
                    Barcode_text,
                    imageBase64
                  };
                  this.$store.commit("lottory/import", datalotimport);
                }



ผมจะเอาไปเก็บไว้ store (ผมใช้ nuxtjs) แต่ค่าไม่มาครับ ต้องเรียกเพื่อเก็บยังไงต่อครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 19:10:33 By : menphurk
 

 

No. 3



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


Code (JavaScript)
this.DWObject.ConvertToBase64(
                  aryIndices,
                  Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
                  asyncSuccessFunc( parameter ทั้งหมดที่ต้องใช้ ),
                  asyncFailureFunc( parameter ทั้งหมดที่ต้องใช้ )
                );


ที่นี้ ใน function ที่ให้มา มันไม่ได้มีการทำงาน กับตัวแปร image อะัไรนั่นเลย
ถ้าไม่มีการกำหนดค่าให้มัน มันก็ต้อง error อยู่แล้วครับ


ประวัติการแก้ไข
2021-06-02 20:51:38
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 20:49:43 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-06-02 20:49:43
รายละเอียดของการตอบ ::
ที่นี้ผมจะต้องกำหนดกับมันยังไง เพื่อให้ค่า ออกมาครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 21:40:24 By : menphurk
 


 

No. 5



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ถูกแล้ว

https://www.dynamsoft.com/docs/dwt15.3.1/API/Encode-Decode.html#ConvertToBase64

ตอบความคิดเห็นที่ : 2 เขียนโดย : menphurk เมื่อวันที่ 2021-06-02 19:10:33
รายละเอียดของการตอบ ::
ค่าไม่มายังไง ตอน log หรือตอน store
ถ้า console.log มีข้อมูลทั้งใน asyncSuccessFunc และ toDoAfterConvert ปัญหาอยู่ที่ scope ของตัวแปรที่สัมพันธ์กับใน vuex/nuxtjs

Code
this.$store.commit(...);


และ

Code
let datalotimport = { uploadfilename, Barcode_text, imageBase64 };


หรือ อาจเกิดจากสาเหตุอื่น เพราะ Nuxt.js เป็น framework ต้องดูอย่างอื่นประกอบด้วย

https://nuxtjs.org/examples/vuex-store/

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 23:06:31 By : TheGreatGod_of_Death
 


 

No. 6



โพสกระทู้ ( 80 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-06-02 23:06:31
รายละเอียดของการตอบ ::
ก่อนทีย้าย
Code (JavaScript)
function toDoAfterConvert(imageBase64) {
                  //console.log(imageBase64);
                  let datalotimport = {
                    Barcode_text,
                    imageBase64
                  };
                  console.log(datalotimport);
                  this.$store.commit("lottory/import", datalotimport);
                }


ฝั่งของ store

Code (JavaScript)
export const state = () => ({
    lists: []
})

export const mutations = {
    import (state, payload) {
        console.log(payload);
        // var res = payload.Barcode_text.split("-");
        // var draw_no = res[1];
        // var set_no = res[2];
        // var number = res[3];
        // state.lists.push({
        //     draw_no,
        //     set_no,
        //     number,
        //     original_quantity: 1,
        //     quantity: 1
        // })
    },
    remove(state, { lotto }) {
        state.lists.splice(state.lists.indexOf(lotto), 1)
    }
}


ถ้าไม่ได้อยู่ function asyncSuccessFunc ค่ามันทำงานนะครับ แต่พอย้ายมาไว้ใน function ค่ากลับหายไป
console.log แล้ว ค่ามาหมดครับ แต่พอกลับไปอยู่ใน $store ค่าไม่มาครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-02 23:23:30 By : menphurk
 


 

No. 7



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : menphurk เมื่อวันที่ 2021-06-02 21:40:24
รายละเอียดของการตอบ ::
ขอโทษอ่านโค๊ดไม่ละเอียด


ลองสลับการวางโค๊ด โค๊ดมันยังไม่ประกาศ หรือเปล่า เลยมองไม่เห็น
Code (JavaScript)
var imageBase64;
function asyncSuccessFunc( base64Result, newIndices, enumImageType,	_arguments {
	var length = base64Result.getLength();
	imageBase64 += base64Result.getData(0, length);
}
function asyncFailureFunc(	errorCode, errorString, newIndices, enumImageType, _arguments ) {
	alert(
		"ErrorCode: " +
		errorCode +
		"\r" +
		"ErrorString:" +
		errorString
	);
}

this.DWObject.ConvertToBase64(
	aryIndices,
	Dynamsoft.DWT.EnumDWT_ImageType.IT_PDF,
	asyncSuccessFunc,
	asyncFailureFunc
);


console.log(imageBase64)


อีกอย่าง function นี้ this.DWObject.ConvertToBase64() เป็น แบบ asyncronize หรือเปล่า
คือในโค๊ดมีการทำงาน กับ dialogbox หรือ request url ซึ่งต้องรอ การ activate event อื่นๆ
ต้องรอการทำงาน ให้จบก่อน ถีงจะแสดงค่าได้ ลองดูตรงนี้

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await


ประวัติการแก้ไข
2021-06-03 08:30:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-03 08:21:56 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 296 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : menphurk เมื่อวันที่ 2021-06-02 23:23:30
รายละเอียดของการตอบ ::
เพื่อความเข้าใจตรงกัน ขอถามอีกครั้ง

1. console.log(base64Result) ใน asyncSuccessFunc ได้อะไร
2. หลังจาก กำหนดค่าและเรียก toDoAfterConvert จาก asyncSuccessFunc แบบนี้
var length = base64Result.getLength();
toDoAfterConvert(base64Result.getData(0, length));

แล้วใน

function toDoAfterConvert(imageBase64) {
console.log(imageBase64); // ตรงนี้ได้อะไร
}


3.

Code
function toDoAfterConvert(imageBase64) { //console.log(imageBase64); let datalotimport = { Barcode_text, imageBase64 }; console.log(datalotimport); // มี Barcode_text ติดมาด้วยหรือไม่ this.$store.commit("lottory/import", datalotimport); // หลังจาก commit ดูคำถามต่อไป }


4. ใน store

Code
import (state, payload) { console.log(payload); // ตรงนี้ได้อะไร ใช่ payload หรือไม่ที่ไม่มีข้อมูล


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-03 12:08:11 By : TheGreatGod_of_Death
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบการเรียกตัวแปร จาก function callback success จาก lib webtwin
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่