javascript - jQuery Ajax 返回未定义

标签 javascript jquery ajax

$('.updateDescriptionProduct').click( function() {
  if ( updateProductDescription(productID, description) == 'true') {
    alert('success!');
  } else {
    alert('did not update');        
  }
});

function updateProductDescription(productID, description) {
  $.ajax({
    url: '/index.php/updateProductDescription',
    global: false,
    type: 'POST',
    data: ({productID: productID, description: description}),
    dataType: 'html',
    async:false,
    success: function(msg){
      alert(msg); 

      return msg;
    }
  });
}

函数本身说 true,但我的 click 事件返回为 undefined

最佳答案

return 适用于回调。尝试在初始函数中设置一个变量并在回调中设置值,然后返回它?

function updateProductDescription(productID, description) {
    var ret = false;
    $.ajax({
          url: '/index.php/updateProductDescription',
          global: false,
          type: 'POST',
          data: ({productID: productID, description: description}),
          dataType: 'html',
          async:false,
          success: function(msg){
            ret = msg;
          }
    });
    return ret;
}

我从未做过异步调用,但看起来这应该可行。如果没有,请告诉我。

关于javascript - jQuery Ajax 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3485782/

相关文章:

javascript - Twitter BootStrap 提交按钮仍然提交表单

javascript - 如何定义 Wakanda 自定义小部件 child ?

javascript - Ajax 错误处理 Django 响应

javascript - 在 Python 中请求 JavaScript 属性 (GAE)

javascript - 如何使用 Flour 制作带有曲线的多系列折线图?

javascript - jQuery UI - 放置的元素 -> 从哪个 div 中拖动

javascript - 从左到右填充 Div

javascript - 基于 jQuery 模糊的检查并将结果打印到 codeigniter 中的 View

jquery - 获取用户刚刚点击的按钮的ID

ruby-on-rails - Rails AJAX 表单在验证失败后不重新填充字段