0

我已经安装了 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 端放了一个不同的文件,它工作正常,但是这个文件没有响应,任何人都可以看到我做错了什么吗?

4

3 回答 3

3

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

所以,换行:

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 );
    });
});
于 2013-09-22T18:00:18.243 回答
0

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

$.get( 'http://localhost/amit/reverse.php', { 'input': text }, function( data )
{
    $('#feedback').text( data );
});
于 2013-09-22T17:52:52.203 回答
0

使用相对路径而不是驱动器上的本地路径。只需输入文件名(如果文件名在根目录中)。尽量不要使用绝对路径(如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 );
});

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

于 2013-09-22T20:01:31.480 回答