2016-11-06 39 views
0

我有一個簡單的頁面,帶有一個按鈕和一個文本框,我輸入一個sql查詢,它將數據發送到一個php文件,該文件返回頁面上的查詢結果。如何修復babel-polyfill錯誤?在我的代碼中找不到

這裏是我的代碼:

<div class="row larger-font"> 

    <div class="container"> 
    <p><strong> Some text goes here </strong></p> 
    <div class="row"> 

    <div class="col-md-6"> 
      <div id="simpleButton"> 
          <button type="button" class="btn btn-primary">Execute!</button> 
        </div> 
      </div> 
      <div class="col-md-6"> 
        <div class="form-group"> 
          <input type="text" class="form-control" id="sampleInput" name="sql"> 
        </div> 
      </div> 
      <div id="result"> </div> 
    </div> 
    </div> 
    </div> 
    </div> 
      <script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
      <script> 
      $('#simpleButton').click(function(e) { 
      var val1 = $('#sampleInput').val(); 
      $.ajax({ 
      type: 'POST', 
      url: 'mahsql', 
      data: { sampleInput: val1 }, 
      success: function(response) { 
      $('#result').html(response); 
      } 
      }); 
      }); 
      </script> 

怪異的一部分是,我得到我的結果頁面上,沒有問題;然而,我得到這個彈出錯誤說只允許babel polyfill的一個實例。我不明白這。我沒有使用任何babel。有沒有辦法從這裏抑制這個錯誤?我很困惑,因爲我可以看到結果,但我仍然得到這個惱人的彈出錯誤。 任何幫助表示讚賞,謝謝。

更新:這是mahsql.php:

<?php 
$conn = oci_connect('username', 'password', 'hostname/db_svc'); 
if (!$conn) { 
    $e = oci_error(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 
$query = $_POST['sampleInput']; 
$stid = oci_parse($conn, $query); 
oci_execute($stid); 

echo "<table border='1'>\n"; 
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { 
    echo "<tr>\n"; 
    foreach ($row as $item) { 
     echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES)  : "&nbsp;") . "</td>\n"; 
    } 
    echo "</tr>\n"; 
} 
echo "</table>\n"; 
?> 

繼意見,我推F12上的鍍鉻看着Chrome標籤,我看到這個JavaScript下的HTML我的PHP文件的代碼,這就是所謂的newtestingm .PHP。

這是其中的投擲的錯誤代碼額外位:

<div id="preloader"></div><script type="text/javascript"> 
var isLoggedIn=false; 
var preload=[]; 
var isAdmin=false; 

</script><script type="text/javascript"> 

</script><script> 
    (function(i,s,o,g,r,a,m) {i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new  Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o) [0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 

ga('create', 'UA-53997625-1', 'auto'); 
ga('send', 'pageview'); 


</script> 
<script src="http://servername:1338/webpack-dev-server.js"></script><script crossorigin="anonymous" src="http://servername:1338/all.8a98aeb6b75576ce1df6.js"> </script><script crossorigin="anonymous"  src="http://servername:1338/newtestingm.8a98aeb6b75576ce1df6.js"></script></body> </html> 

這是什麼???這不是我的PHP文件的一部分。

回答

1

mahsql的資源正在返回帶有嵌入腳本標記的html。你無條件地將這個html注入你的頁面並執行它。這是非常不明智的。

由於您沒有包含所有html,因此很難確定錯誤的確切原因。基本上,一次只能執行一次的腳本正在執行多次。

根據更新和評論,看起來你的服務器正在追加包含谷歌分析的標記,一個請求Webpack開發服務器的腳本,以及一些全局變量。 Webpack可能是要求Babel的。

我的建議是退後一步,檢查您使用的所有工具,因爲這不應該在您不知情的情況下發生。也許您正在使用服務器端和客戶端框架,入門工具包以及生成您不知道的代碼的模板的組合。如果沒有深入瞭解整個堆棧,這個結果很難預測和推理。

我對你正在使用的框架沒有很好的瞭解,而且我很少寫PHP,但一般問題是你沒有意識到正在執行的代碼的廣度。顯然有一個相當複雜的籌碼正在進行假設。例如,它似乎假設您有一個Webpack包,其名稱與您的HTML頁面的名稱相對應,該名稱將從同一位置提供。如果情況並非如此,您將收到錯誤。但這只是大量假設的一個例子。

+0

這只是一個測試頁面,沒有生產,所以安全性不是優先級atm。我想用ajax測試mahsql php文件的POST功能。這是你在這裏看到的所有html。我將更新mahsql.php文件。 – OrangeLime

+0

查看瀏覽器工具中的網絡選項卡,查看正在請求的內容以及返回的內容。有東西在請求一個腳本,並且該腳本正在被下載和執行。 –

+0

好的,我做到了。我看到一些奇怪的東西。所以這個php文件被稱爲newtestingm.php,它帶有bootstrap html。現在在這個網絡標籤中,當我在chrome上按F12時,我看到一個叫做newtestingm的.js文件(一堆亂碼)。js顯示404未找到錯誤。當我打開它時,我在我的newtestingm.php代碼下看到一些額外的代碼: – OrangeLime

相關問題