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

标签 javascript jquery 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 返回真;否则返回假。我不确定我是否在使用 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/'
    });
}​

关于javascript - 如何从ajax调用中获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13648995/

相关文章:

javascript - 联系表格和 PHP

javascript - 使用 Javascript 获取值并附加到文本区域?

javascript - 启用 use strict 时,如何找出 JavaScript 中的调用函数?

javascript - jQuery 移动 ListView 溢出不起作用

JQuery:选择动态创建的元素并推送到 Firebase

javascript - mvc部分 View onsubmit表单从父 View 发送数据

javascript - Github 页面部署问题

javascript - 数据表激活单单元格编辑 onclick(第 2 部分)

ajax - AngularJs - JSON 帖子

javascript - 通过代理过滤ajax请求