请问一个关于闭包的写法

请教一个关于闭包的写法
            for (var j = 1; j <= 5; j++)
            {
                var l = j;
                $.ajax({
                    url: "/Markets/AjaxTransactionTips/?CommodityID=" + l,
                    type: "GET",
                    cache: false,
                    error: function (Text, Status)
                    {
                        console.error(j, l);
                    });
         }

如上代码,当error回调函数被调用时,无论是循环变量还是复制到本地的变量都已经变了(c#中复制到本地的变量l不会变),如果我想在error回调函数中知道是哪个循环变量出的问题,要怎么改写上边代码呢?
------解决思路----------------------

for (var j = 1; j <= 5; j++)
{
    $.ajax({
        url: "/Markets/AjaxTransactionTips/?CommodityID=" + j,
        type: "GET",
        cache: false,
        error: (function (l){
            return function (Text, Status)
            {
                console.error(l);
            }
        })(j)
    });
}