开发者

jQuery ajax calls

Is there anyway to get access to the settings in the success callback?

    $('.chartsRefresher').change(
        function(){
            $.ajax({
                url: "/CampaignReportPostHandler.jsp",
                data:({
                    queryPage:$("ul.tabs li.active a").attr("href")
                }),
                success:function(d)
                {
                    alert(settings);
                    var dataTest = d.substring(d.indexOf('('));
                    eval(chartRenderer+"(eval(dataTest))");
                }
            });
            return true;
        }
        );

I w开发者_开发问答ant to be able to get what the queryPage was when the ajax call was made?


Define your data first:

$('.chartsRefresher').change(
        function(){
            var data = {
               queryPage:$("ul.tabs li.active a").attr("href")
            };
            $.ajax({
                url: "/CampaignReportPostHandler.jsp",
                data: data,
                success:function(d)
                {
                    alert(data.queryPage);
                    var dataTest = d.substring(d.indexOf('('));
                    eval(chartRenderer+"(eval(dataTest))");
                }
            });
            return true;
        }
        );

And as mentioned, avoid eval if possible.


Declare them with var:

$('.chartsRefresher').change(function() {
    var ajaxOpts= {
        url: "/CampaignReportPostHandler.jsp",
        data: { /* remove the parentheses around this object */
            queryPage: $("ul.tabs li.active a").attr("href")
        },
        success: function(d) {
            var queryPage = ajaxOpts.data.queryPage;
            var dataTest = d.substring(d.indexOf('('));
            eval(chartRenderer + "(eval(dataTest))");
        }
    };

    $.ajax(ajaxOpts);
    return true;
});

Side question: why are you using eval?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜