Tại đây, bạn có thể tìm hiểu cách hàm trả về giá trị từ cuộc gọi ajax.
Trước hết, bạn cần đăng ký một hàm gọi lại, giống như ví dụ sau:
function test() {
getProducts(function(d) {
//some applay logic and processing the data
console.log(d);
});
}
function getProducts(callback) {
var data;
$.ajax({
url: 'url',
data: 'data to send',
success: function (resp) {
data = resp;
callback(data);
},
error: function () {}
}); // ajax asynchronus request
//the following line wouldn't work, since the function returns immediately
//return data; // return data from the jquery ajax request
}
function checkIsLive(selector) {
$.ajax({
type: "POST",
url: '/get_useres.html',
data: ({ issession : 1, selector: selector }),
dataType: "html",
success: function(data) {
// heer Call this function on success
getProducts( data );
return data;
},
error: function() {
alert('Error occured');
}
});
}
function getProducts( data ) {
// Do something with your data
}
Cách Trả Lại Phản Hồi AJAX từ Cuộc Gọi JavaScript Bất Đồng Bộ: Các Phương Pháp và Ví Dụ Mã?
Ajax cũng là bất đồng bộ, điều đó có nghĩa là cuộc gọi ajax jquery được gửi đi, nhưng mã nguồn api của bạn vẫn tiếp tục chạy mà không dừng lại.
Cuộc gọi ajax
function getProducts() {
var data;
$.ajax({
url: 'url',
data: 'your all the data wrte here',
async: false,
success: function (responseText) {
data = responseText;
callback.call(data);
},
error: function () {}
}); // ajax asynchronus request
return data; // return data from the ajax request
}
Ví Dụ 1: Thực Hiện Cuộc Gọi AJAX Đồng Bộ
Ví dụ tốt nhất cho “cách trả giá trị từ hàm thành công ajax trong javascript?”
function getProducts() {
var jqXHR = $.ajax({
//...
async: false
});
return jqXHR.responseText;
}
Ví Dụ 2: Đặt Hàm Chấp Nhận Cuộc Gọi Lại
var list_content = getProducts();
// code that depends on 'list_content'
getProducts(function(list_content) {
// code that depends on 'list_content'
});
function myCallback(list_content) {
// code that depends on 'list_content'
}
getProducts(myCallback);
Sau đó, định nghĩa getProducts như sau:
function getProducts(callback) {
$.ajax({
// …
success: callback
});
}
Ví dụ cuộc gọi ajax jquery
Tại đây, bạn có thể tìm hiểu “Phương thức jQuery AJAX get() và post()”.
Phương thức jQuery $.get()
$("button").click(function(){
$.get("get_all_products.asp", function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
Phương thức jQuery $.post()
$("button").click(function(){
$.post("all_v1_api_store_products.asp",
{
name: "tamilrokers",
city: "tamil"
},
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
settimeout jquery
Sử dụng setTimeout để trì hoãn thời gian của các hoạt động jQuery
Hàm setTimeout() của jQuery thực hiện mã Ajax đã cho sau một khoảng thời gian nhất định.
Below me is a DIV called "displayUserInfo".
<br>
<br>
<h3>how to return value from ajax success function in javascript?</h3>
<div id="displayUserInfo" style="background-color:yellow;display:none;width:30%;margin:0 auto;">This text is inside the Div called "displayUserInfo".</div>
<br>
<br>
<input type="button" id="showHtmlElemenets" value="Display DIV">
<script>
$("#showHtmlElemenets").click(function () {
$('#displayUserInfo').show(1000, function () {
setTimeout(function () {
$('#displayUserInfo').html(function () {
setTimeout(function () {
$('#displayUserInfo').html('Good Luck, Here is some replacement text');
}, 0);
setTimeout(function () {
$('#displayUserInfo').html('More HTML Content replacement text goes here');
}, 3000);
});
}, 3000);
});
}); //click function ends
</script>
Thêm Thông tin: jQuery.ajax()
Tôi hy vọng bạn đã có ý tưởng về cách trả giá trị từ hàm thành công ajax trong javascript?.
- Bài đăng blog này được xuất bản ban đầu tại: https://www.pakainfo.com