jquery ดึงค่าจากอีกฟังก์ชันมาใช้ไม่ได้ครับ ช่วยดูโค้ดให้ผมที

เริ่มโดย fogza, 17 กันยายน 2012, 21:26:55

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

fogza

พอดีกำลังทำ ดึงข้อมูลจาก text file มาแสดงทุกๆ 3 วินาทีนะครับ แต่ติดปัญหาการดึงค่าจากฟังก์ชันมาใช้ไม่ได้ครับ

function load_logFile(){
console.log("start")
var file_name = get_log_fileName();
console.log("file name: "+file_name);
setInterval(function(){
$.ajax({
           url : "log_file/"+file_name,
           dataType: "text",
           success : function (data) {
               $('textarea[name="log_file"]').html(data+"\n");
           }
       });
       $.ajaxSetup({ cache: false });
},3000);  
}

var get_log_fileName = function(){
var name_file;
$.post(
"func_access_db.php?check=logfile",
function(data){
if(data != 0){
name_file = data;
}
}
);
}

ฟังก์ชัน get_log_fileName ผมลอง console.log ดู ค่าที่ return กลับมาก็เป็นชื่อไฟล์แล้ว แต่ปัญหาอยู่ที่ฟังก์ชัน load_logFile() มันเอาค่าจากฟังก์ชัน get_log_fileName() มาใช้ไม่ได้ครับ
ขอคำแนะนำทีครับ  :wanwan017:
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


henthai


fogza

อ้างถึงจาก: henthai ใน 17 กันยายน 2012, 21:38:10
get_log_fileName มันไม่ได้ return ค่ากลับนิครับ
get_log_fileName มันได้ค่าที่ได้จาก server แล้ว แต่จะทำยังไงให้ load_logFile() เอาค่ามาใช้ได้ครับ
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


henthai

function get_log_fileName(){
var name_file;
$.post(
"func_access_db.php?check=logfile",
function(data){
if(data != 0){
name_file = data;
return name_file;
}
}
);
}

fogza

อ้างถึงจาก: henthai ใน 17 กันยายน 2012, 22:39:28
function get_log_fileName(){
var name_file;
$.post(
"func_access_db.php?check=logfile",
function(data){
if(data != 0){
name_file = data;
return name_file;
}
}
);
}

ยังไม่ได้ครับ ตอนนี้ผมยุบรวมกันไปก่อนครับ  :P
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::


cleverness

function get_log_fileName
ให้เปลี่ยนจากใช้ $.post เปลี่ยนเป็นใช้ $.ajax
แล้วกำหนด async: false

$.ajax{
   url : 'func_access_db.php?check=logfile',
   type : 'post',
   async : false
});


ประมาณนี้ ที่เหลือเขียนเพิ่มเติมเองนะครับ

cleverness

การเรียกใช้ ajax จะ return ค่าหรือส่งให้ไปให้ตัวแปรข้างนอกคำสั่ง ajax ไม่ได้
ถ้าไม่กำหนด async เป็น false

fogza

อ้างถึงจาก: cleverness ใน 19 กันยายน 2012, 11:35:33
การเรียกใช้ ajax จะ return ค่าหรือส่งให้ไปให้ตัวแปรข้างนอกคำสั่ง ajax ไม่ได้
ถ้าไม่กำหนด async เป็น false
+1 ขอบคุณมากๆ ครับ ตอนนี้ทำได้แล้ว  :wanwan019:  :wanwan017:
:: สังคมจะดีได้ อยู่ที่เราทุกคน ไม่ใช่แค่ใครคนใดคนหนึ่ง ::