Ajax数据只返回一条记录

时间:2015-12-27 05:53:19

标签: jquery ajax

我有一个jQuery ajax代码段,它返回数据库中的记录,该记录与在表单中插入的用户具有相同的公司名称。

但是代码只返回一条记录。假设我有3条公司名称为“A”的记录。

代码将仅返回这3个的最新记录,而不是全部记录。

如何解决此问题以返回保存用户输入名称的所有记录?

var key = null;
$.ajax({
    type: "POST",
    url: "GetRecord?DB=EMP&Table=EMP_HISTORY",
    dataType: 'xml',
    data: {
        "Where": "COMPANY='" + companies_name + "'"   
    },
    success: function(xml) {
        $(xml).find('record').each(function() {
            key = $(this).find("KEY").text();
        });

        if (key) {
            var url = "GetDisplay?DB=EMP&Table=EMP_HISTORY&Where=KEY=" + key + "";
            window.open(url, "_self");
        }
    },
    error: function(error) {
        alert('error');
    }
});

1 个答案:

答案 0 :(得分:0)

尝试将所有键传递给由,(逗号)分隔符分隔的url字符串。 处理GetDisplay时,获取与查询字符串中的键关联的所有记录。

var key = [];
var allKeys = null;
$.ajax({
  type: "POST",
  url: "GetRecord?DB=EMP&Table=EMP_HISTORY",
  dataType: 'xml',
  data: {
     "Where": "COMPANY='" + companies_name + "'"   
  },
  success: function(xml) {
      $(xml).find('record').each(function(index) {
          key [index] = $(this).find("KEY").text();
      });

     allKeys = key.join(',');
     if (key) {
        var url = "GetDisplay?DB=EMP&Table=EMP_HISTORY&Where=KEY=" + allKeys + "";
        window.open(url, "_self");
     }
  },
  error: function(error) {
     alert('error');
  }
});