2017-10-11 132 views
0

我有一個非常基本的網頁,其中包含兩個文件phpcode.php.cgi和frontpage.php.cgi。 我有下拉應該動態填充,但我無法得到請求/響應工作。下拉的ID是「開始」。 我在頭版文件中的Ajax請求:Ajax,JQuery,GET請求與PHP錯誤

$(document).ready(function() { 
     $("#start").change(function(){ 
      alert("dropdown changed"); 
      var val = $('#start').val(); 
      $.ajax({ 
       type: "GET", 
       data: {Station_Nr : val}, 
       url: "phpcode.php.cgi", 
       success: function(data){ 
        alert(data); 
       } 
      }); 
     }); 
    }); 

和我phpfile看起來像這樣:

<?php 
if(isset($_GET['Station_Nr'])) { 
    echo "it works"; 
}; 
?> 

它試圖從URL ../ phpcode.php.cgi要求Station_Nr = 27 當我嘗試進入該頁面時,出現500錯誤。 根據chrome,錯誤在於以$ .ajax開頭的行。

我已經包括:

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

謝謝!

+1

你的文件擴展名很混亂 - 他們是PHP文件還是CGI文件?如果前者,你確定你的服務器被設置爲使用PHP引擎解釋並執行它們?爲了幫助調試,您可以檢查控制檯的網絡選項卡。它應該顯示500錯誤請求的響應文本 ,應該希望給你一個問題的描述。另外請注意,您似乎已經包含jQuery.js兩次。我建議刪除'1.12.0.min.js'並將引用移動到'3.2.1'頂部 –

+0

如果你得到一個500服務器錯誤,你應該在你的錯誤日誌中有一些東西。你能告訴我們從日誌文件中的錯誤信息! – Webdesigner

+0

@RoryMcCrossan這些文件是CGI。一個問題是,它是學校的Web服務器,因此沒有日誌可用,PHP應該工作,如果我有這個擴展(迄今爲止除了它的要求)。 responsetext只聲明服務器日誌中有更多信息。在mozilla - > network - > cause = xhr。在chrome:GET url ../ phpcode.php.cgi?Station_Nr = 10 500(內部服務器錯誤) 發送@ jquery.min.js:4 ajax @ jquery.min.js:4 (匿名)@ frontpage。 php.cgi:99 dispatch @ jquery.min.js:3 q.handle @ jquery.min.js:3 ListPicker._handleMouseUp @ about:blank:588 – Louise

回答

-1

當你得到一個500錯誤是因爲服務器不是在客戶端有問題,使用$ .ajax中的/phpcode.php.cgi來使用絕對路徑。

0

在文件的頂部是#!/ usr/bin/php5所在的位置。 因爲Windows而添加了\ r \ n,傳輸方法是二進制的。 Apache服務器迴應時出現錯誤,當\ n用\ n替換\ n時會發生錯誤。