Javascript [入门]。以对象为参数调用函数

时间:2018-09-13 09:10:38

标签: javascript jquery

您的评论后有我的代码。 内部文件是否准备就绪。

也许现在更清楚地为我提供帮助。

我告诉过你。我需要外部的“订单”对象,因为我将不止一次需要它。

现在,Ajax尚未检测到对象。但是,当我将其放置在click函数中时,一切正常。

var order = { blabla: "blabla", ...}

$('#go_next').click(function() {
  saveStepOne(order);
})

function saveStepOne(order) {
    var isValid = true;
    $('.step-one-val').each(function() {
      if ($.trim($(this).val()) == "") {
        isValid = false;
        $(this).addClass("has-error");
      }
    });

    if (isValid == false) {
      return false
    } else {
      priceAjaxCall(order)
    }
  }

function priceAjaxCall(order) {
    $.ajax({
      url: "<%=create_order_path%>",
      type: "POST",
      data: { order },
      success: function (data) {
        priceAjaxReturn(data)
      },
      dataType: "json"
    })
    console.log(order)
  }

  function priceAjaxReturn(data){
    if (data["status"] == 200) {
      $(".price").val(data["price"])
    } else {
      $(".price").val("ERROR")
    }
  }

非常感谢

致谢

3 个答案:

答案 0 :(得分:0)

它更具体,当您在sendToAjax函数中发布代码时,可以给我们更多的想法。

尝试一下:

$.ajax({
  type: "POST",
  url: "url",
  data: params,
  cache: false,
  success: function(result){
     $("#resultarea").text(result);
  }
});

答案 1 :(得分:0)

@all

经过数小时的思考,我与您分享了解决方案。 如果要从函数访问对象内部,则可以将该对象存储在另一个函数中并返回它。

示例:

function myObject() {
 var my_obj = { blabla: "blabla" }
 return my_obj
}

$('.my_class').click(function() {
 variable_name = myObject();
 console.log(variable_name)
 sendToAjaxOrWherverYouWant(variable_name)
}

非常感谢您

希望这可以帮助某人!

答案 2 :(得分:-1)

尝试

sendToAjax(window.my_obj);