This post предоставляет пример кода, используя в качестве примера список файлов серверов. Вот код, который я использовал:Javascript вызывает функцию php и возвращает результаты
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>How to create form using jQuery UI</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/pepper-grinder/jquery-ui.css" media="screen" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$.get('getfilename.php', { dir : '/ajax1/' }, function(data) {
// you should now have a json encoded PHP array
$.each(data, function(key, val) {
alert('index ' + key + ' points to file ' + val);
});
}, 'json');
alert ("ok");
});
</script>
</head>
<body>
<h1>Get file names... </h1>
</body>
</html>
getfilename.php
$dir = $_REQUEST['dir'] ;
$dir = $_SERVER['DOCUMENT_ROOT'] . $dir;
$filesArray = array();
$Counter = 0;
$files = scandir($dir);
foreach ($files as &$file) {
if ($file!='.' && $file!='..') {
$filesArray[$Counter] = $file;
echo $filesArray[$Counter].'';
$Counter++;
}
}
echo json_encode($filesArray);
Моя проблема заключается в том, что Javascript оповещения alert('index ' + key + ' points to file ' + val);
не удается отобразить что-либо на этой странице. Сценарий работает, потому что я получаю ответ в журнале консоли Firebug.
ajax.jsajax.phpindex.html["ajax.js","ajax.php","index.html"]
Что мне нужно изменить на сценарий, чтобы вернуть эту информацию на страницу HTML, так что я могу использовать JSON для дальнейшей обработки?
Спасибо.
какая вывод 'console.log (data);' в вашей консоли javascript? Есть ли какие-либо ошибки в консоли? – Robbert
Спасибо, Робберт. Я использовал Firebug, и в разделе «Консоль» нет ошибок. – PeterK900