Я пытаюсь получить данные из php-файла с именем return, который просто содержит
<?php
echo 'here is a string';
?>
Я делаю это через HTML-файл, содержащий
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
var x;
$.get("return.php", function(data){
x = data;
})
function showAlert() {alert(x);}
$(document).ready(function(){
alert(x);
});
</script>
</head>
<body>
<input type = "button" value = "Click here" onClick="showAlert();">
</body>
</html>
Когда кнопка нажата, она извлекает и отображает код в порядке, но для $ (document) .ready вещь, она отображает «undefined» вместо данных в return.php. Любые решения?
Спасибо.
3 ответа
Document.ready работает до того, как $ .get вернул сообщение
var x;
function showAlert() {alert(x);}
$(document).ready(function(){
$.get("return.php", function(data){
x = data;
showAlert();
})
});
Это должно работать нормально
Это не вопрос масштаба, это вопрос порядка событий. $.get
- это асинхронный вызов, поэтому он может еще не завершиться к моменту загрузки вашей страницы в браузер (это довольно маленькая страница, поэтому я думаю, что она загружается довольно быстро).
Аякс, вероятно, еще не загружен.
var x;
function showAlert() {alert(x);}
$(document).ready(function(){
$.get("return.php", function(data){
x = data;
alert(x);
});
});
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.