首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ajax发布超过1个变量

如何使用ajax发布超过1个变量
EN

Stack Overflow用户
提问于 2017-08-18 01:36:37
回答 2查看 56关注 0票数 0

我一直在谷歌上寻找一种方法来做这件事,但我找到的一切都对我没有帮助。我不确定如何发布下面的所有变量,如果我只选择其中一个变量,它将很好地发布,并将其放入正确的数据库列中。

任何帮助都将不胜感激。

代码语言:javascript
复制
        function submit() {
      var mm10  = $('#10MM'),
          mm16  = $('#16MM'),
          mm7   = $('#7MM'),
          mm2   = $('#2MM'),
          fines = $('#Fines'),
          bark  = $('#Bark'),
          cqi   = $('#CQI');

      $.ajax({
        type: "POST",
        url: "classes/Post/ChipSubmit.php",
        data: ,
        success: function(){
            $("#successMessage").show();
        }
      });
    };
EN

回答 2

Stack Overflow用户

发布于 2017-08-18 01:37:55

您可以通过两种方式来完成此操作。一个使用数组,或两个使用对象:

代码语言:javascript
复制
function submit() {
  var mm10 = $('#10MM').val(),
    mm16 = $('#16MM').val(),
    mm7 = $('#7MM').val(),
    mm2 = $('#2MM').val(),
    fines = $('#Fines').val(),
    bark = $('#Bark').val(),
    cqi = $('#CQI').val();

  $.ajax({
    type: "POST",
    url: "classes/Post/ChipSubmit.php",
    data: [mm10, mm16, mm7, mm2, fines, bark, cqi],
    success: function() {
      $("#successMessage").show();
    }
  });
} // Also you don't need a semicolon here.

此外,您不需要在函数的末尾使用分号。

使用数组更容易,如果您想要更高的精度,请使用对象:

代码语言:javascript
复制
function submit() {
  var mm10 = $('#10MM').val(),
    mm16 = $('#16MM').val(),
    mm7 = $('#7MM').val(),
    mm2 = $('#2MM').val(),
    fines = $('#Fines').val(),
    bark = $('#Bark').val(),
    cqi = $('#CQI').val();

  $.ajax({
    type: "POST",
    url: "classes/Post/ChipSubmit.php",
    data: {
      "mm10": mm10,
      "mm16": mm16,
      "mm7": mm7,
      "mm2": mm2,
      "fines": fines,
      "bark": bark,
      "cqi": cqi
    },
    success: function() {
      $("#successMessage").show();
    }
  });
} // Also you don't need a semicolon here.

在服务器端,您可以通过$_POST超级全局获取它们。使用var_dump($_POST)找出它得到了什么。

票数 6
EN

Stack Overflow用户

发布于 2017-08-18 04:27:36

有点像Praveen Kumar建议的那样,你可以创建一个对象。我很好奇的一件事是,看起来你正在传递jQuery对象作为你的数据吗?如果是这样的话,$_POST会说像[object][Object]这样的东西,或者,对我来说,它抛出了TypeError,破坏了一切。

代码语言:javascript
复制
var form_data = {};

 form_data.mm10 = $('#10MM').val(); // Input from a form
 form_data.mm16 = $('#16MM').val(); // Input from a form
 form_data.mm7 = $('#7MM').val(); // Input from a form
 form_data.mm2 = $('#2MM').text(); // Text from a div
 form_data.fines = $('#Fines').text();
 form_data.bark = $('#Bark').text();
 form_data.cqi = $('#CQI').text();

  $.ajax({
    type: "POST",
    url: "classes/Post/ChipSubmit.php",
    data: form_data,
    success: function() {
      alert('success');
    }
  });
}

然后,要在PHP中获得这些值,您可以使用:

代码语言:javascript
复制
$_POST[mm10] // This contains '10MM' or the value from that input field
$_POST[mm16] // This contains '16MM' or the value from that input field
$_POST[mm7] // This contains '7MM' or the value from that input field
$_POST[mm2] // This contains '2MM' or the value from that input field
And so on...

我试着把a jsFiddle for you组合在一起,尽管它没有显示PHP部分。单击submit之后,查看控制台以查看发布的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45741696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档