ปัญหาการใช้ฟังก์ชันที่เขียนขึ้นเองผ่าน ajax
อาจารย์ค่ะ หนูอยากจะเรียกใช้ฟังก์ชันที่เขียนขึ้นเองในไฟล์ที่ ajax ใช้ในการประมวลผล
หนูลองใช้ฟังก์ชัน include หรือ require ของ PHP มาใช้ก่อนเรียกใช้ฟังก์ที่เขียนขึ้นเอง
มันได้ผลใน localhost เท่านั้นค่ะ แต่พออัพขึ้น server มันเรียกใช้งานฟังก์ชั่นที่เราเขียนเองไม่ได้
หนูลองเปลี่ยนชื่อฟังก์ชันให้เป็นอักษรตัวเล็กทั้งหมดแล้ว แต่มันก็ยังใช้งานไม่ได้ค่ะ
อาจารย์ช่วยตอบให้หนูหน่อยนะค่ะ
หนูลองใช้ฟังก์ชัน include หรือ require ของ PHP มาใช้ก่อนเรียกใช้ฟังก์ที่เขียนขึ้นเอง
มันได้ผลใน localhost เท่านั้นค่ะ แต่พออัพขึ้น server มันเรียกใช้งานฟังก์ชั่นที่เราเขียนเองไม่ได้
หนูลองเปลี่ยนชื่อฟังก์ชันให้เป็นอักษรตัวเล็กทั้งหมดแล้ว แต่มันก็ยังใช้งานไม่ได้ค่ะ
อาจารย์ช่วยตอบให้หนูหน่อยนะค่ะ
ถามคำถามสั้นๆ ไม่ให้ข้อมูลอะไรเลยกว่าจะได้คำตอบก็คงอีกหลายวัน
function ajaxtest(bt){
var data=getFormData("frmTest");
data+="&bt="+bt;
var URL="ajaxtest.php";
ajaxLoad("post",URL,data,null,null);
}
โค้ดตอนส่งข้อมูลเวลาคลิก
<a href="#" onclick="ajaxTest('AAA');">ทดสอบ</a>
โค้ดประมวลผลข้อมูลและสั่งให้แสดงผลในไฟล์ ajaxtest.php
<?
function linkadmin(){
$js2 = <<<JS
var el = document.getElementById('insSchool');
el.style.display = 'block';
JS;
header("content-type: text/javascript; charset=tis-620");
$js2=iconv('utf-8','tis-620',$js2);
echo $js2;
}
$bt=trim($_POST['bt']);
$js = <<<JS
alert("$bt");
JS;
linkadmin(); //เรียกใช้ฟังก์ที่เขียนขึ้นเองในไฟล์เดียวกัน
require('linkfunc.php');
clear_ins_school(); //เรียกใช้ฟังก์ชันที่เขียนขึ้นเองในไฟล์อื่น
header("content-type: text/javascript; charset=tis-620");
$js=iconv('utf-8','tis-620',$js);
echo $js;
?>
ไฟล์ที่เขียนฟังก์ชันขึ้นเอง linkfunc.php
function clear_ins_school(){
$js = <<<JS
var el = document.getElementById('frmInsSchool').reset();
JS;
header("content-type: text/javascript; charset=tis-620");
$js=iconv('utf-8','tis-620',$js);
echo $js;
}
การเรียกใช้ฟังก์ชันทั้งสองแบบ ไม่สามารถทำงานได้เวลารันบน server หนูลองเปลี่ยนจาก require เป็น include แล้วก็ไม่ได้ผลอาจารย์ช่วยตอบหน่อยนะค่ะ
ลองทดสอบดูยังครับ ตามนี้ก็ได้
alert(data) ตอนก่อน AJAX ส่ง request ไปหา .php
ไปตามหน้า .php ดูบน host ว่ามัน echo ออกมาเป็นอะไรแน่
อีกจุดที่ผมไม่แน่ใจเลยน่ะครับ
ว่าทาง host ที่ว่าเนี่ยเขาลง PHP อะไรไว้ให้
ผมเกรงว่าบางที PHP อาจเป็นรุ่นใหม่แล้วไม่ support โค้ดเก่าๆ
อย่างเครื่องผมเนี่ย PHP version ล่าสุดมันไม่ให้ใช้ <? ?> กัับ <?=?> ผมต้องเขียนเป็น <?php ?>
แต่ถ้าเรียกใช้ฟังก์ชันที่เขียนขึ้นเองตอนรันบน server มันไม่สามารถใช้งานฟังก์ชันที่เขียนขึ้นเองได้
ไม่ทราบว่าปัญหามาจากอะไร
ลองอ่านบทความเกี่ยวกับ Ajax บนเว็บประกอบนะครับ