|
|
|
ช่วยแนะนำหน่อยครับคือผมใช้ jquery .post แต่ผมต้องการค่าที่ .post นำมาใช้ต่อจะต้องทำอย่างไรดีครับ |
|
|
|
|
|
|
|
การจะทำงานหลังจากมีการส่งค่าผ่าน Ajax ไปแล้ว
จะต้องเช็กหลังจากที่ Ajax ทำงานสิ้นสุดครับ
Code (JavaScript)
function check(index){
var check = false;
$.post('check.php',{index:index},function(data){
if(data.success) // คือข้อมูลที่ส่งมาจากหน้า check.php ว่าถูกต้องหรือไม่ได้
{
check = true;
}
return check
},'json');
}
ดังนั้นควรจะทำงานต่อหลักจากที่ Ajax ทำงานเสร็จครับ
การเรียกฟังก์ชั่น check() ผลลัพธ์ที่ได้จะช้า ไม่สามารถนำไปใช้งานได้นะครับ
เช่น
if(check(2)==true){
}else{
}
คำสั่งนี้จะทำงานผิดพลาดมื่อ Server คืนค่าที่ได้มาช้ากว่าปกติ
ดังนั้นควรเรียกและทำงานต่อในฟังก์ชั่น check() ไปเลยครับไม่ต้องคืนค่า
function check(index){
$.post('check.php',{index:index},function(data){
if(data.success) // คือข้อมูลที่ส่งมาจากหน้า check.php ว่าถูกต้องหรือไม่ได้
{
//เรียกฟังก์ชั่นที่ต้องการทำงานเมื่อคืนค่ามาถูกต้อง
}
},'json');
}
|
|
|
|
|
Date :
2013-04-17 21:17:08 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วทำไมผม alert มันขึ้นหลายครั้งอะครับมันเกิดจากสาเหตุอะไรเหรอครับ
|
|
|
|
|
Date :
2013-04-17 22:47:41 |
By :
sailorfah |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บอกความต้องการให้ชัดเจนครับ เดี๋ยวเขียน Code Example ให้ครับ
ถ้ามี code เดิม วางให้ดูหน่อยครับ
|
ประวัติการแก้ไข 2013-04-18 09:44:13
|
|
|
|
Date :
2013-04-18 09:43:32 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมพอรู้สาเหตุไม่รุ้ว่าถูกแล้วจะแก้ยังไง คือผมให้หน้าเวปแสดง เป็นส่วนๆ โดยผมใช้ .load ให้การเรียกหน้า แต่เมื่อผมกดให้เพื่อต้องการตรวจสอบข้อมูล แล้ว load หน้าใหม่ ทำให้ alert มันขึ้นซ้ำกันตลอด ถ้ารีโหลดหลายรอบมันก้จะเด้งหลายรอบ จะมีวิธีให้
Code (JavaScript)
function check(index){
var check = false;
$.post('check.php',{index:index},function(data){
if(data.success) // คือข้อมูลที่ส่งมาจากหน้า check.php ว่าถูกต้องหรือไม่ได้
{
check = true;
alert(check);
// มีทำสั่งอะไรให้ตัว .post หยุดประมวลหรือเปล่าครับ อะไรทำนองนี้อะ เพราะเมือผม load หน้าขึ้นมาใหม่เมื่อเข้า function นี้มันก้จะ alert ซ้ำขึ้นมาอีก เช่น ถ้าเมื่อหน้ามาครั้งแรก จะ alert 1 ครั้ง แต่เมื่อผมใช้ .load แล้วเข้าฟังขันนี้อีก จะ alert 2 ครั้ง
}
},'json');
}
|
ประวัติการแก้ไข 2013-04-18 10:17:47
|
|
|
|
Date :
2013-04-18 10:05:21 |
By :
sailorfah |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
session_start();
?>
<span id="Sdetail"></span>
<script src="admin/module/inc/scripts/jquery-1.8.1.min.js"></script>
<script>
$(document).ready(function(e) {
var span=$('#Sdetail');
$.ajax({url:"detail.php",
async:false,
global:false,
cache:false,
type:'POST',
data:'act=act',
success: function(result){
var obj=jQuery.parseJSON(result);
if(obj['count']==1){
alert('Welcome');
span.html(obj['msg']);
}else{
span.html(obj['msg']);
}
}
});
});
</script>
detail.php
Code (PHP)
<?
error_reporting(0);
session_start();
$_SESSION['count']=$_SESSION['count']+1;
$arr=array();
$arr['count']=$_SESSION['count'];
$arr['msg']="Hello World";
echo json_encode($arr);
?>
|
|
|
|
|
Date :
2013-04-18 10:34:34 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|