在ajax中基于几个条件检索数据



我使用AJAX获取数据库数据,将其与变量进行比较以显示它。我只是根据一个条件在"Where"中进行比较,即字段ID是否等于变量"+ID_var+"。问题是,现在我正试图在不同领域的Where中添加更多条件,但我没有成功,有什么帮助吗?

 var key=null;
 $.ajax({
                   type: "POST",
                   url: "GetRecord?DB=EMP&Table=EMP_HISTORY",
                   dataType : 'xml',
                   data : {
                    "Where" : "ID="+id_var +""  
                   },
                 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');
                 }
               });

我可以看到你的HTTP Query中有一个错误,你不能将where定义为一个值,而该值正在定义key中的另一个值。。为此,您必须将Where更改为包含KEY和您希望它具有的其他变量的数组。。

假设您使用的是jQuery。。您可以使用$.param(),请在此处查看更多详细信息。。

var query = {
    DB: "EMP",
    Table: "EMP_HISTORY",
    Where: {
        KEY: "1234",
        OR: {
            id_var: 'IS NULL'
        }
    }
};
$.param(query);
// returns "DB=EMP&Table=EMP_HISTORY&Where%5BKEY%5D=1234&Where%5BOR%5D%5Bid_var%5D=IS+NULL"

最新更新