Я установил 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, и он отлично работает, но этот ответ просто не отвечает, может ли кто-нибудь увидеть, что я делаю неправильно?
Вам необходимо передать файлы на ваш веб-сервер - сделать запрос 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 );
});
});
Используйте относительный путь вместо локального пути на вашем диске. Просто введите имя файла (если имя файла находится в корневой директории). Старайтесь не использовать абсолютные пути (например, http://localhost/reverse.php
), потому что тогда вам придется изменить его при загрузке/изменении его на другой сервер, и это не является устойчивым решением.
$.get( '/reverse.php', { 'input': text }, function( data )
{
$('#feedback').text( data );
});
Во-вторых, я бы рекомендовал использовать другие имена переменных. Я думаю, что у вас возникают проблемы с использованием текстовой переменной, потому что text() является функцией в jQuery.
Пытаться:
var textOfElement = $('#text').val();
$.get( '/reverse.php', { 'input': textOfElement }, function( data )
{
$('#feedback').text( data );
});
В некоторых случаях это хорошо, чтобы быть общим по поводу именования, но ввод и текст далеки от жанровых. Эти имена не говорят немного о реальном контексте.
Вам нужно получить файл через запрос на ваш сервер XAMPP. Попробуйте что-нибудь вроде
$.get( 'http://localhost/amit/reverse.php', { 'input': text }, function( data )
{
$('#feedback').text( data );
});
http://
.