2017-10-11 105 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时会发生错误。