【问题标题】:XAMPP PHP file works but no result?XAMPP PHP文件有效但没有结果?
【发布时间】:2013-09-22 17:45:20
【问题描述】:

我已安装 XAMPP 以在我的计算机上运行 PHP 文件,这是我正在尝试执行的 PHP 文件

<?php 
if(isset($_GET['input']))
{
    $string = $_GET['input'];
    echo strrev($string);
}
?>

这是我的基本 HTML 文件

<html land="en">
<head>
    <meta carset="utf-8">
    <link rel="stylesheet" type="text/css" href="style.css";
</head>

<body>
<!-- Document Ready Event -->
<input id="text" type="text" /><input id="submit" type="button" value="Submit" />

<div id="feedback"></div>
    <script src="../jquery-1.10.2.min.js"></script>
    <script src="script.js"></script>
</body>
</html>

这是我的 JS 文件

//将值传递给PHP文件并获取内容并显示内容

$('#submit').click( function()
{
var text = $('#text').val();
$.get( 'C:/xampp/htdocs/amit/reverse.php', { 'input': text }, function( data )
    {
        $('#feedback').text( data );
    });
});

当点击按钮时,Chrome 会告诉我这个。

标题是

Request URL:file:///C:/xampp/htdocs/amit/reverse.php?input=Hello
Query String Parametersview sourceview URL encoded
input:Hello

响应是

<?php 
if(isset($_GET['input']))
{
    $string = $_GET['input'];
    echo strrev($string);
}
?>

现在我在我的 XAMPP PHP 端放了一个不同的文件,它工作正常,但是这个文件没有响应,任何人都可以看到我做错了什么吗?

【问题讨论】:

    标签: php jquery xampp


    【解决方案1】:

    您需要将文件传递到您的网络服务器 - 向您的网络服务器上的 URI 发出 GET 请求,而不是向您计算机上的文件发出请求。

    所以,换行:

    C:/xampp/htdocs/amit/reverse.php
    

    http://localhost/amit/reverse.php
    

    或者,如果您的所有文件都在同一个目录中,结构如下:

    -- htdocs
        - amit
            - <somefile>.html
            - script.js
            - style.css
            - reverse.php
    

    然后,您可以简单地使用reverse.php 而不是指定完整路径。

    以完整代码为例:

    $('#submit').click( function()
    {
    var text = $('#text').val();
    $.get( 'http://localhost/amit/reverse.php', { 'input': text }, function( data )
        {
            $('#feedback').text( data );
        });
    });
    

    【讨论】:

      【解决方案2】:

      您需要通过对 XAMPP 服务器的请求来获取文件。尝试类似

      $.get( 'http://localhost/amit/reverse.php', { 'input': text }, function( data )
      {
          $('#feedback').text( data );
      });
      

      【讨论】:

      【解决方案3】:

      在您的驱动器上使用相对路径而不是本地路径。只需输入文件名(如果文件名在根目录中)。尽量不要使用绝对路径(如http://localhost/reverse.php),因为这样您在将其上传/更改到另一台服务器时必须对其进行更改,这不是一个可持续的解决方案。

      $.get( '/reverse.php', { 'input': text }, function( data )
      {
          $('#feedback').text( data );
      });
      

      其次,我建议使用其他变量名。我认为您在使用 text 变量时遇到了问题,因为 text() 是 jQuery 中的函数。

      试试:

      var textOfElement = $('#text').val();
      $.get( '/reverse.php', { 'input': textOfElement }, function( data )
      {
          $('#feedback').text( data );
      });
      

      在某些情况下,命名通用性很好,但输入和文本远非通用。这些名字并没有说明实际情况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-06
        相关资源
        最近更新 更多