Для людей, которые используют AngularJS , может справиться с этой ситуацией, используя Promises
.
Здесь it говорит,
Обещания могут использоваться для отключения асинхронных функций и позволяют объединять несколько функций вместе.
blockquote>Вы можете найти приятное объяснение здесь .
Пример, найденный в docs , упомянутом ниже.
promiseB = promiseA.then( function onSuccess(result) { return result + 1; } ,function onError(err) { //Handle error } ); // promiseB will be resolved immediately after promiseA is resolved // and its value will be the result of promiseA incremented by 1.
Angular2 and Later
In
Angular2
, посмотрите на следующий пример, но его рекомендовал использоватьObservables
сAngular2
.search(term: string) { return this.http .get(`https://api.spotify.com/v1/search?q=${term}&type=artist`) .map((response) => response.json()) .toPromise();
}
Вы можете использовать это таким образом,
search() { this.searchService.search(this.searchField.value) .then((result) => { this.result = result.artists.items; }) .catch((error) => console.error(error)); }
См. здесь оригинал . Но TypScript не поддерживает native es6 Promises , если вы хотите его использовать, для этого вам может понадобиться плагин.
Кроме того, здесь представлены обещания spec определите здесь.
Я всегда использую это, отлично работает.
$(document).ready(function(){
$(function(){
$('#ideal_form').submit(function(e){
e.preventDefault();
var form = $(this);
var post_url = form.attr('action');
var post_data = form.serialize();
$('#loader3', form).html('<img src="../../images/ajax-loader.gif" /> Please wait...');
$.ajax({
type: 'POST',
url: post_url,
data: post_data,
success: function(msg) {
$(form).fadeOut(800, function(){
form.html(msg).fadeIn().delay(2000);
});
}
});
});
});
});
Пока вы не предоставили достаточно информации, чтобы фактически указать, ГДЕ вы должны извлекать данные, вам нужно вытащить ее откуда-то. Вы можете указать URL-адрес в нагрузке, а также определить параметры данных или функцию обратного вызова.
$("#getCameraSerialNumbers").click(function () {
$("#step1Content").load('YourUrl');
});
Попробуйте этот
html-код
<div id="refresh">
<input type="text" />
<input type="button" id="click" />
</div>
jQuery code
<script>
$('#click').click(function(){
var div=$('#refresh').html();
$.ajax({
url: '/path/to/file.php',
type: 'POST',
dataType: 'json',
data: {param1: 'value1'},
})
.done(function(data) {
if(data.success=='ok'){
$('#refresh').html(div);
}else{
// show errors.
}
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});
</script>
php page code path = / path / to / file.php
<?php
header('Content-Type: application/json');
$done=true;
if($done){
echo json_encode(['success'=>'ok']);
}
?>
Когда этот метод выполняется, он извлекает содержимое location.href
, но затем jQuery анализирует возвращенный документ, чтобы найти элемент с divId
. Этот элемент вместе с его содержимым вставляется в элемент с идентификатором (divId
) результата, а остальная часть извлеченного документа отбрасывается.
$ ("# divId" ) .load (location.href + "#divId> *", "");
blockquote>надеюсь, что это поможет кому-то понять
Вам нужно добавить источник, из которого вы загружаете данные.
Пример:
$("#step1Content").load("yourpage.html");
Я думаю, вы должны посетить эту страницу на Авто Загрузите и обновите Div на Ajax Call без перезагрузки страницы с помощью jQuery
Надеюсь, это вам поможет.
Вы хотите загрузить данные снова, но не перезагрузить div.
Вам нужно сделать запрос Ajax для получения данных с сервера и заполнить DIV.