如何将2D数组从JavaScript传递到PHP

时间:2016-11-13 06:31:55

标签: javascript php jquery arrays ajax

我正在开展一个学校项目,涉及使用各种AP​​I / AJAX调用从多个在线零售商处提取产品数据,然后使用PHP对这些数据进行排序(我为每个零售商使用一个AJAX调用)。我正在处理的代码片段如下所示。我无法弄清楚如何

  1. 将包含产品属性(“Average”,“Price”,“Name”,“Url”和“Image”)的临时数组推送到主数组(数组数组)中,然后< / p>

  2. 将此主数组发布到PHP,以便我可以将其中的值编入索引以进行排序。

  3. function get_results() {
      $(document).ready(function() {
        var master_array = [];
        $.ajax({
          type: "GET",
          url: "http//:www.source1.com",
          dataType: "xml",
          success: function(xml) {
            $(xml).find('product').each(function() {
              var Average = $(this).find('Average').text();
              var Price = $(this).find('Price').text();
              var Name = $(this).find('Name').text();
              var Url = $(this).find('Url').text();
              var Image = $(this).find('Image').text();
              master_array.push([Average, Price, Name, Url, Image]);
            });
          }
        });
        $.ajax({
          type: "GET",
          url: "http//:www.source2.com",
          dataType: "xml",
          success: function(xml) {
            $(xml).find('product').each(function() {
              var Average = $(this).find('Average').text();
              var Price = $(this).find('Price').text();
              var Name = $(this).find('Name').text();
              var Url = $(this).find('Url').text();
              var Image = $(this).find('Image').text();
              master_array.push([Average, Price, Name, Url, Image]);
            });
          }
        });
      });
    }
    

1 个答案:

答案 0 :(得分:1)

您应该看到JQuery ajax函数的示例代码:http://api.jquery.com/jquery.ajax/。这是一个示例代码:

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
    alert( "Data Saved: " + msg );
});

您的更新功能如下所示:

function get_results() {
  $(document).ready(function() {
    var master_array = [];
    $(xml).find('product').each(function() {
        var Average = $(this).find('Average').text();
        var Price = $(this).find('Price').text();
        var Name = $(this).find('Name').text();
        var Url = $(this).find('Url').text();
        var Image = $(this).find('Image').text();
        master_array.push([Average, Price, Name, Url, Image]);
    });
    $.ajax({
      type: "POST",
      url: "http//:www.source1.com",
      data: master_array,
      success: function(response) {
        alert('Data successfully posted');
      },
     fail: function(response) {
        alert('Data could not be posted');
      }
    });

  });
}

在上面的代码中,成功和失败是在服务器返回响应时调用的函数。如果响应被正确发送,则调用success函数。如果服务器上有错误,则调用失败函数。