2011-08-30 105 views
2

Form_Ajax.php =>遇到錯誤

<script type="text/javascript" src="Testing_Ajax.js"></script> 

<script type="text/javascript" src="jquery-1.5.js"></script> 

<script type="text/javascript" src="myjquery.js"></script> 

<style> 

    .cls_display{ 

     background-color: green; 

    } 

</style> 



<form name="nm_form" method="POST" action="Display_Ajax.php"> 

    <table>  

     <tr><td>User Name:</td><td><input type="text" name="nm_username" id="id_username"/></td></tr> 

     <tr><td>Password:</td><td><input type="text" name="nm_password" id="id_password"/></td></tr> 

     <tr><td><input type="button" value="Submitrunajax" onclick="runAjax()"/></td></tr> 

     <tr><td><input type="button" class="cls_post" value="Submitjqueryajax"/></td></tr> 

     <tr><td><input type="submit" class="cls_post" value="SubmitPOST"/></td></tr> 

    </table> 

    <div id="id_display" class="cls_display"> 



    </div> 

</form> 

Display_Ajax.php =>

<?php 



class Display_Ajax{ 

    public function __construct(){ 



    } 

    public function printall(){ 

     $var_username=$_POST["nm_username"]; 

     $var_password=$_POST["nm_password"]; 

     echo $var_username.'<br>'; 

     echo $var_password.'<br>'; 

    } 

} 



$var_obj=new Display_Ajax(); 

$var_obj->printall(); 

?> 

myjquery.js =>

$(document).ready(function(){ 

    $("div").addClass('cls_display'); 



    $("input.cls_post").click(function(){ 

     var temp1,temp2; 

     temp1=$("#id_username").val(); 

     temp2=$("#id_password").val(); 

     /* 

     $.post("Display_Ajax.php",{nm_username: temp1, nm_password: temp2},function(prm){ 

      alert(prm); 

      $("div.cls_display").html(prm); 

     }); 

     */ 

     $.ajax({ 

      type: "POST", 

      url: "Display_Ajax.php", 

      data: "nm_username="+temp1+"&"+"nm_password="+temp2, 

      success: function(prm){ 

       alert(prm); 

       $("div.cls_display").html(prm); 

      } 

     });  



    }); 



}); 

http://localhost/Form_Ajax.php,點擊第三提交按鈕我得到了價值。

<tr><td><input type="submit" class="cls_post" value="SubmitPOST"/></td></tr> 

但是從Firefox>工具>錯誤控制檯我得到錯誤=>

Firebug's log limit has been reached. 0 entries not shown.  Preferences 
uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.getAllResponseHeaders]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://localhost/jquery-1.5.js :: anonymous :: line 7207" data: no] 
+0

在這裏,我的直覺是,這個問題是事實,你有你的printAll方法2條echo語句的時候,其實你應該只擁有1 –

+0

不知道你'問題在於這個,但是這個消息指出了JavaScript世界中的錯誤,而不是PHP ...你發佈的內容看起來很好......可能在Testing_Ajax.js中有些事情正在破壞? – Brian

+2

這是一個Javascript錯誤,所以從標籤列表+標題中刪除PHP。 PHP不能觸發這樣的螢火蟲錯誤。 –

回答

0

嘗試更改您的數據區:

data:"nm_username="+temp1+"&"+"nm_password="+temp2 

到:

data: {nm_username : temp1,nm_password : temp2}, 

看看是否有效。

向下讀取這個頁面上:http://api.jquery.com/jQuery.ajax/