Я пытаюсь вызывать асинхронную успокоительную веб-службу из jquery. Проблема в том, что HTTP-клиент не обновляется при получении результата, я должен обновить браузер вручную. Это код jquery, который я использую:
<script type="text/javascript">
$.ajax({
type: "GET",
url: "http[...]",
.done(function (data) {
var res=data;
$("#asy").html(res);
})
.fail(function () {
alert("ERROR");
});
});
</script>
Любая помощь приветствуется.
Вы .done
в неправильном месте. Вы передаете его как параметр ajax вместо того, чтобы связать его с вызовом на .ajax
чтобы он был .ajax
из возвращаемого объекта, отложенного. Он должен быть .fail
же, как и ваш .fail
.
$.ajax({
//options
})
.done(function () {
// success logic
})
.fail(function () {
// error logic
});
вы должны использовать функцию success
!
$.ajax({
type: "GET",
url: "http[...]",
success: function (data)
{
var res=data;
$("#asy").html(res);
},
error: function ()
{
alert("ERROR");
}
)};
fail
не является правильным вариантом ajax
. Вы либо пройти success
и error
в ajax
вариантов, или вы цепную done
и fail
в состоянии покинуть Возвращенный отложено.
Попробуйте это ниже, код должен работать, данные получают в json..
$.ajax({
type: "GET",
url: "http[...]",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
url += '&lat=' + msg[0].value;
url += '&lng=' + msg[1].value;
alert(url);
// more work here
}
});
done
и fail
с fail
возвращенную отложенную, вместо того, чтобы передавать в качестве опций значение success
и error
.
$("#asy").html(res);
не работает?