有时ajax工作&有时不是&点击行功能也无法正常工作

时间:2014-08-30 07:56:31

标签: javascript jquery ajax spring datatables

我们可以在同一页面上写两个ajax成功函数,因为有时它的工作有时候不会 doajaxpost函数是使用ajax在第一个下拉列表onchange函数调用时加载第二个下拉列表中的数据 和搜索功能是使用ajax在表中加载数据 但它有时会得到正确的执行,有时候不会显示任何结果

 function doAjaxPost(instituteId) {

        alert(instituteId);
        // get the form values  
        /* var name = $('#name').val();
        var education = $('#education').val(); */
        $.ajax({
            type : "POST",
            url : "/paymentGateway/merchant",
            dataType : "json",
            data : "institutionId=" + instituteId,
            success : function(data) {
                // we have the response  
                alert(data + "hiee");
                var $merchantId = $('#merchant');

                $merchantId.find('option').remove();
                $("#merchant").append("<option value='ALL'>ALL</option>");
                $.each(data, function(key, value) {
                    $('<option>').val(value.merchantId).text(value.merchantId)
                            .appendTo($merchantId);
                });

            },
            error : function(e) {
                alert('Error: ' + e);
            }
        });
    }

    function searching() {
        // get the form values  
        var institutionId = $('#instiuteId').val();
        var merchantId = $('#merchant').val();
        var userType = $('#userType').val();
        var userStatus = $('#userStatus').val();
        var userId = $('#userId').val();

        alert("insti=" + institutionId + "mecrhant=" + merchantId + "usertyep="
                + userType + "users=" + userStatus + "userid=" + userId);
        $.ajax({
            type : "POST",
            url : "/paymentGateway/searching",
            dataType : "json",
            data : {
                institutionId : institutionId,
                merchantId : merchantId,
                userId : userId,
                userStatus : userStatus,
                userType : userType
            },
            success : function(data) {
                // we have the response  
                alert(data);
                /*  var $merchantId = $('#dynamictable');
                   $merchantId.find('table').remove(); 
                 $('#dynamictable').append('<table></table>');
                 var table = $('#dynamictable').children();  */

                $("#tablenew tbody tr:has(td)").remove();

                $.each(data, function(key, value) {
                    /*        alert(value.institutionId);  */
                    $('#tablenew tbody:last').append(
                            "<tr><td>" + value.userId + "</td><td>"
                                    + value.firstName + "</td><td>"
                                    + value.userStatus + "</td><td>"
                                    + value.userType + "</td><td>"
                                    + value.userAddedBy + "</td><td>"
                                    + value.userRegisteredDateTime
                                    + "</td><td>" + value.recordLastUpdatedBy
                                    + "</td><td>" + value.recordLastUpdatedTime
                                    + "</td></tr>");
                });

            },
            error : function(e) {
                alert('Error: ' + e);
            }
        });
    }

2 个答案:

答案 0 :(得分:1)

这可能是一个缓存问题,请尝试设置

$.ajaxSetup({ cache: false });

请参阅 How to prevent a jQuery Ajax request from caching in Internet Explorer?

答案 1 :(得分:0)

我遇到了同样的问题。你必须使用类而不是ID才能使它工作。使用$(“。merchant”)替换$(“#merchant”),并将'merchant'更新为班级。