在AJAX JSON POST请求中使用全局变量值

时间:2017-09-16 11:11:10

标签: jquery html ajax

我正在尝试进行AJAX调用,将一些JSON发布到我的Elasticsearch实例。无论如何我可以在'数据'请求中使用全局变量值吗?

如下所示?

$(document).ready(function() {
  $('#Log-submit').on('click', function(e) {
    e.preventDefault();
    var btn = $(e.target);
        btn.attr("disabled", "disabled"); // disable button
    $.ajax({
      data: JSON.stringify({"name" : "#div.Name"}),  //use global variable value in JSON POST request
      dataType: 'json',
      processData: false,
      type: 'POST',
      contentType: "application/json; charset=utf-8",
      url: 'http://my-API.com:9200/escalations/'
    });
  });
});

1 个答案:

答案 0 :(得分:1)

根据您在评论中的描述,听起来好像您想要选择元素#div.Name,然后在AJAX请求中发送值(假设它是<input />元素)。请注意,这与全局变量的逻辑不同,但仍然很容易实现。

根据您的需要,您需要选择元素然后获取val(),如下所示:

$.ajax({
  data: { name: $('#div.Name').val() },
  dataType: 'json',
  type: 'POST',
  contentType: "application/json; charset=utf-8",
  url: 'http://my-API.com:9200/escalations/'
});

另请注意,我删除了processData,因为将其设置为false意味着您需要手动编码JSON,这在jQuery为您执行时是多余的,给定正确{{1} }}