2015-08-13 88 views
-2

我是一般的HTML,PHP和網絡編程的初學者。爲什麼XMLHttpRequest在本地託管文件中不起作用?

我的第一個項目是連接到MySQL數據庫的PHP頁面。我使用這個JavaScript代碼將信息發送到另一個PHP頁面:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>ERP</title> 
    <link rel="stylesheet" href="css/bootstrap.min.css" /> 
    <link rel="stylesheet" href="css.css" /> 
    <script type="text/javascript" src="oXHR.js"></script> 
    <script type="text/javascript"></script> 
    <script> 
     function DelRow(callback) 
     { 
      alert("FIRSTALERT"); 
      var xhr = XMLHttpRequest(); 
      alert("SecondALERT"); 
      xhr.onreadystatechange = function() 
      { 
       if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
       { 
        callback(xhr.responseText); 
       } 
      }; 
      var Comp = encodeURIComponent(document.getElementById("ComboBoxCompany").value); 
      xhr.open("GET", "DeleteRow.php?Comp=" + Comp, true); 
      xhr.send(null); 
     } 

     function readData(sData) 
     { 
      alert(sData); 
     }; 
    </script> 
</head> 

的功能是由這個壞小子在這裏呼籲:

<input class="btn btn-primary" type="button" value="Confirmer" name="ConfirmDel" onclick="DelRow(readData)" /> 

如果你看一下我的javascript代碼,我已經把2警報。第一個出現,但第二個不是。它看起來像getXMLHttpRequest不起作用。

我正在使用谷歌瀏覽器。我已經發現了一些線索,說我需要執行以下命令行:

C:\用戶\用戶名> C:\ Program Files文件(x86)的\谷歌\鍍鉻\應用 --allow文件 - 從文件訪問

但它沒有改變。

我在黑暗中尋找一些見解。

+0

getXMLHttpRequest定義在哪裏?如果您沒有收到第二條警告,那麼ajax請求與此問題無關,您甚至還沒有發送請求。 –

+0

從文件系統調用PHP?你需要使用本地服務器,該PHP文件不會奇蹟般地運行。什麼是'getXMLHttpRequest'? – epascarello

+0

@epascarello它使用XAMPP服務器運行。該頁面顯示沒有任何問題!這真的只是在我按下我的文章中描述的按鈕後,getXMLHttpRequest的調用不起作用。 – KeineMaster

回答

1

如果您沒有收到第二條警報,則幾乎可以排除第二條警報之後發生的一切,因爲它們都不會被執行。這使得問題很容易跟蹤,因爲它必須是此行:

var xhr = XMLHttpRequest(); 

你只是缺少new關鍵字。

var xhr = new XMLHttpRequest(); 
+0

再次感謝您的幫助! – KeineMaster

相關問題