如何从ajax调用中获取返回值?

我想使用函数在ajax调用中获取值。但是该值始终返回未定义状态。返回值仅为1或0。

这是我的代码:

$(function(){ 

$('#add_product').click(function(){

var i = $('#product_name').val();

param = 'product_name='+i;

var value = check_product(param);

alert(value);

return false;

});

});

function check_product(param){

$.ajax({

type : 'POST',

data : param,

url : baseurl+'cart/check_product_name/',

success : function(result){

//alert(result);

return result;

}

});

}


大家好,仍在努力完成这项工作。我现在得到的值显示为1或0。我现在想要完成的是如何在if语句中实现它。我想吃点这样的东西。如果val=0,则返回true;否则,返回true。否则返回假。我不确定我是否在使用ajax函数的正确轨道上。但是,如果有更好的方法可以告诉我,我将不胜感激。

$(function(){ 

$('#add_product').click(function(){

var i = $('#product_name').val();

param = 'product_name='+i;

check_product(param).done(function(value) {

var val = value; //waits until ajax is completed

});

if(val == 0){

return true;

} else{

return false;

}

});

});

function check_product(param){

return $.ajax({

type : 'POST',

data : param,

url : baseurl+'cart/check_product_name/'

});

}

回答:

它是异步的,因此您必须等待ajax调用来取回数据,然后才能发出警报。您可以通过返回ajax调用并使用来轻松实现done(),如下所示:

$(function() {

$('#add_product').click(function() {

var i = $('#product_name').val(),

par = 'product_name=' + i;

check_product(par).done(function(value) {

alert(value); //waits until ajax is completed

});

return false;

});

});

function check_product(param) {

return $.ajax({

type : 'POST',

data : param,

url : baseurl + 'cart/check_product_name/'

});

}​

以上是 如何从ajax调用中获取返回值? 的全部内容, 来源链接: utcz.com/qa/429070.html

回到顶部