09/10/2018, 23:44 
               
            [AJAX&PHP]Cần mọi người giúp !
               
					Tôi đang làm 1 Shop bán hàng ,sài AJAX chạy trên máy ở nhà (window) thì ok , chạy trên host thật (LINUX) thì nảy sinh hàng ngàn vấn đề khó hiểu ,nhiều phần ko chạy, đặc biệt là sài trên IE thì ok , sài trên FF thì ko được .ai có kinh nghiệm giúp mình với.
				            
            
         
            Bài liên quan
         
               
            




Thí dụ: Tên hàm onReadyStateChange chỉ dùng trên IE trong khi onreadystatechange dùng được trên cả hai.
Thử viết một lệnh đơn giản để xem các lệnh AJAX của bạn có hoạt động đúng không. Nếu được thì đưa code cho mọi người tham khảo.
httplv1.open('GET',url,true);
document.getElementById('loading').style.display = 'block';
httplv1.onreadystatechange = handleResponselv1;
httplv1.send(); <-- trên IE thì ok , trên FF phải là httplv1.send(null);
xin mọi người bỏ chút thời gian xem giúp tôi vài đoạn code này cái ,vì sao nó chỉ chạy được trên window mà ko chạy được trên linux
<?php /*************************************************************************** * includes/page_poll.php * ------------------- ***************************************************************************/ include("../common.php"); $resultpoll = new XiTemplate('../templates/resultpoll.tpl'); $polls = new XiTemplate('../templates/poll.tpl'); $resultpoll->assign('L_VOTE',$lang['l_vote']); $polls->assign('L_VOTE',$lang['l_vote']); $votebt = isset($HTTP_POST_VARS['Submit'])?$HTTP_POST_VARS['Submit']:false; $pollid = isset($HTTP_POST_VARS['pollid'])?intval($HTTP_POST_VARS['pollid']):false; $voteid = isset($HTTP_POST_VARS['voteid'])?intval($HTTP_POST_VARS['voteid']):false; if($votebt==false||$voteid==false) { if(!$id) { Viewpoll(); } else { Viewvoteresult($id); } } else { vote($voteid); Viewvoteresult($pollid); } function vote($vid) { global $db; $sql = "UPDATE pollselect SET Vote_Total=Vote_Total+1 WHERE Vote_ID=".intval($vid); $db->Query($sql); } function showvote() { global $db,$polls,$lang; $polls->assign('POLL_BUTTON',$lang['l_btvote']); $polls->assign('POLL_SUBJECT',$lang['l_poll_subject']); $sql = "SELECT Vote_ID, Vote_Answer, p.Poll_ID, Poll_Question, Poll_Order FROM pollselect ps, poll p WHERE ps.Poll_ID = p.Poll_ID AND Poll_Order = ( SELECT MIN( Poll_Order ) FROM Poll ) "; $db->Query($sql); $options = array(); while($row = $db->fetch_rows()) { $options[] = $row; } $db->free_result(); $totaloption = count($options); $polls->assign('POLL_TITLE',$options[0]['Poll_Question']); for($i = 0;$i<$totaloption ;$i++) { $polls->assign('VOTE',$options[$i]); $polls->parse('VOTING.OPTIONPOLL'); } $polls->parse('VOTING'); $polls->out('VOTING'); } function Viewpoll() { global $db,$polls,$lang; $polls->assign('L_POLL_HAVING',$lang['l_poll_having']); $polls->assign('L_POLL_DETAIL',$lang['l_poll_detail']); $sql = "SELECT p.Poll_ID, Poll_Question, Poll_DateTime, Poll_Order, SUM( Vote_Total ) AS totalvote FROM poll p LEFT JOIN pollselect ps ON p.Poll_ID = ps.Poll_ID GROUP BY P.Poll_ID, Poll_Question, Poll_DateTime, Poll_Order ORDER BY Poll_Order"; $db->Query($sql); while($row = $db->fetch_rows()) { $polls->assign('POLL',$row); $polls->parse('POLL.POLLROWS',$row); } $db->free_result(); $polls->parse('POLL'); $polls->out('POLL'); } function Viewvoteresult($pid=1) { global $db,$resultpoll,$lang; $resultpoll->assign('L_VOTE_RESULT',$lang['l_poll_result']); $sql = "SELECT Poll_Question, p.Poll_ID,Vote_Total, Vote_ID, Vote_Answer FROM pollselect ps, poll p WHERE p.Poll_ID = ps.Poll_ID and p.Poll_ID=".$pid; $db->Query($sql); $poll = array(); while($row = $db->fetch_rows()) { $poll[] = $row; $totalvote += $row['Vote_Total']; //TONG SO PHIEU HIEN CO } $db->free_result(); $totaloption = count($poll); //TONG SO TUY CHON // //BUILD POLL // $resultpoll->assign('L_TOTALROW',$lang['l_total_vote']); $resultpoll->assign('TOTAL_VOTE',$totalvote); $resultpoll->assign('Poll_Question',$poll[0]['Poll_Question']); if($totaloption>0) { for($i = 0;$i<$totaloption;$i++) { $percent = @round($poll[$i]['Vote_Total']/$totalvote*100,1); $resultpoll->assign('Vote_Answer',$poll[$i]['Vote_Answer']); $resultpoll->assign('Vote_Total',$poll[$i]['Vote_Total']); $resultpoll->assign('VOTE_PERCENT',$percent); if($percent!=0) $resultpoll->parse('RESULTPOLL.ROWPOLL.RESULTPOLL_IMAGE'); else $resultpoll->parse('RESULTPOLL.ROWPOLL.RESULTPOLL_NOVOTE'); $resultpoll->parse('RESULTPOLL.ROWPOLL'); } $resultpoll->parse('RESULTPOLL'); $resultpoll->out('RESULTPOLL'); } } ?><?php /*************************************************************************** * includes/page_voting.php * ------------------- * ***************************************************************************/ $xitemplate->assign('POLL_BUTTON',$lang['l_btvote']); $xitemplate->assign('POLL_SUBJECT',$lang['l_poll_subject'] ); $sql = "SELECT Vote_ID, Vote_Answer, p.Poll_ID, Poll_Question, Poll_Order FROM pollselect ps, poll p WHERE ps.Poll_ID = p.Poll_ID AND Poll_Order = ( SELECT MIN( Poll_Order ) FROM Poll ) "; $db->Query($sql); $options = array(); while($row = $db->fetch_rows()) { $options[] = $row; } $db->free_result(); $totaloption = count($options); $xitemplate->assign('POLL_TITLE',$options[0]['Poll_Question']); for($i = 0;$i<$totaloption ;$i++) { $xitemplate->assign('VOTE',$options[$i]); $xitemplate->parse('BODY.VOTING.OPTIONPOLL'); } $xitemplate->parse('BODY.VOTING'); ?><!-- BEGIN: RESULT_QUICK_SEARCH --> <table width="500" border="0" cellpadding="5" cellspacing="0"> <!--DWLayoutTable--> <tr> <td height="40" colspan="5" valign="top"><a href="index.php" class="txt_grey">{L_HOME}</a> >> {L_RESULT_SEARCH}</td> </tr> <tr> <td height="30" colspan="2" valign="top"><!--DWLayoutEmptyCell--> </td> <td width="223"> </td> <td width="144" valign="top"><a href="index.php"></a></td> <td width="86" valign="top"><!--DWLayoutEmptyCell--> </td> </tr> <tr bgcolor="#336699"> <td width="177" height="29" align="center" valign="middle" class="shopcartmenu">{L_PRODUCT_PICTURE}</td> <td colspan="2" align="center" valign="middle" class="shopcartmenu">{L_PRODUCT_INFORMATION}</td> <td align="center" valign="middle" class="shopcartmenu">{L_PRICE}</td> <td align="center" valign="middle"><!--DWLayoutEmptyCell--> </td> </tr> <form action="includes/process_cart.php" name="result_quick_search" method="post" enctype="application/x-www-form-urlencoded"> <input name="pid" type="hidden" value="" > <input name="action" type="hidden" value="" > <tr> <td height="120" colspan="5" valign="top"> <!-- BEGIN: ROWSPRODUCT --> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="111" rowspan="4" align="center" valign="middle"> <img src="{PRODUCT.Picture}" /></td> <td width="262" height="20" valign="middle" class="txt_productname">{PRODUCT.ProductName}</td> <td width="104" rowspan="4" align="center" valign="top"> <!-- BEGIN: OLDPRICE --> <span class="text_oldprice">${PRODUCT.UnitPrice}</span> <!-- END: OLDPRICE -->   <!-- BEGIN: NEWPRICE --> <span class="text_newprice">${PRODUCT.UnitPriceNew}</span> <!-- END: NEWPRICE --> <!-- BEGIN: CURRENT_PRICE --> <span class="txt_grey">${PRODUCT.UnitPrice}</span> <!-- END: CURRENT_PRICE --> </td> <td width="121" rowspan="4" align="center" valign="middle"> <input type="image" src="images/add_to_cart.gif" width="70" height="17" border="0" onclick="addcart_default(document.result_quick_search,{PRODUCT.ProductID});" /> </td> </tr> <tr> <td height="38" valign="middle">{L_EXPIRYDATE} : {PRODUCT.ExpiryDate} {L_MONTH}</td> </tr> <tr> <td height="20" valign="middle">{L_CATEGORY} {PRODUCT.CategoryName} </td> </tr> <tr> <td height="20" valign="middle">{L_MANUFACTURER} : {PRODUCT.manufacturer} </td> </tr> <tr> <td height="10" colspan="4" valign="top"><img src="images/line.gif" width="500" height="3" /></td> </tr> </table> <!-- END: ROWSPRODUCT --> </td> </tr> <tr> <td colspan="5" height="25" align="center" valign="middle">{L_PAGE} <label> <select name="select_page" id="select_page" onchange="jum_page('#action=new_product&view=10&page=',this);"> <!-- BEGIN: SELECT_PAGE_TOP --> <option style="text-align:center" value="{PAGE}">{PAGE}</option> <!-- END: SELECT_PAGE_TOP --> <!-- BEGIN: SELECTED_PAGE_TOP --> <option style="text-align:center" value="{PAGE}" selected="selected">{PAGE}</option> <!-- END: SELECTED_PAGE_TOP --> </select> | <span><a href="#view=10" class="txt_grey" onclick="viewtop('includes/page_newproduct.php?view=10');">{L_VIEW_TOP}</a></span> | {L_VIEW_ALL} </label></td> </tr> </form> </table> <!-- END: RESULT_QUICK_SEARCH --> <!-- BEGIN: NO_RESULT_QUICK_SEARCH --> <table width="490" border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td height="40" valign="top"><a href="index.php" class="txt_grey">{L_HOME}</a> >> {L_RESULT_SEARCH}</td> </tr> <tr> <td width="490" height="25" align="center" valign="middle" bgcolor="#336699" class="shopcartmenu">CHÚ Ý</td> </tr> <tr> <td height="65" align="center" valign="middle" class="txt_grey">{L_NO_RESULT_SEARCH}</td> </tr> </table> <!-- END: NO_RESULT_QUICK_SEARCH --> <!-- BEGIN: TIME_OUT --> <table width="490" border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td height="40" valign="top"><a href="index.php" class="txt_grey">{L_HOME}</a> >> {L_RESULT_SEARCH}</td> </tr> <tr> <td width="490" height="25" align="center" valign="middle" bgcolor="#336699" class="shopcartmenu">CHÚ Ý</td> </tr> <tr> <td height="65" align="center" valign="middle" class="txt_grey">{L_TIME_OUT_SEARCH}</td> </tr> </table> <!-- END: TIME_OUT -->