|
|
|
ช่วยดู cod ajax ให้หน่อยครับ พอดีผมพึ่งหัดใช้ ไม่รู้จะตรวจยังไงว่ามันวิ่งไปหาไฟล์ php เราแล้วรับค่ามารึยังอะครับ หรือ code ผิด |
|
|
|
|
|
|
|
ลองเช็คค่า และความยาวของมันดูครับ เพราะค่าที่ส่งกลับมาอาจจะไม่ใช่ N ตัวเดียวก็ได้
function createAjax(type,txt) {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = "test.php?type="+type+"&txt="+txt;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send();
HttPRequest.onreadystatechange = function(){
if(HttPRequest.readyState == 4) {
alert(HttPRequest.responseText); // check ว่ามันมีค่าว่าอะไร ซึ่งมันควรจะเท่ากับ N
alert(HttPRequest.responseText.length); // และ check length ครับ ว่ามันมีค่าว่าอะไร ซึ่งมันควรจะเท่ากับ 1 เพราะคุณ echo "N" ออกมาตัวอักษรเดียว
if(HttPRequest.responseText == 'N'){
alert("ข้อมูลไม่ถูกต้อง");
}else{
id_card.value='';
<!--form_forgot.submit();-->
}
}
}
}
หากไฟล์ php ของคุณมีการส่งตัวอักษรอื่นออกมาอีก เช่น ช่องว่าง ตัวขึ้นบรรทัดใหม่ (\n)
อย่างแบบนี้
<?php
echo "N";
?>
ต่อให้ตั้งใจจะ echo "N" ตัวเดียวมันก็จะไม่เป็นอย่างนั้น เพราะก่อน <?php ก็มีช่องว่าง และหลัง ?> ยังมีขึ้นบรรทัดใหม่อีกมากมาย
วิธีป้องกันแบบหลังคือ ให้ละ ?> ไปเลย
<?php
echo "N";
|
ประวัติการแก้ไข 2013-02-18 16:30:33
|
|
|
|
Date :
2013-02-18 16:29:01 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|