Ajax事件始终重定向

时间:2016-10-04 09:36:27

标签: ajax asp.net-mvc

我有一个带动作的按钮:

<a id="viewlog" href="" class="btn btn-default" />

并且:

$("#viewlog").bind('click', function (e) {
    $.ajax({
        url: "/Log/FindFile?idTraitement=" + $("#IdTraitement").val(),
        success: function (data) {
            if(data.success == false){
                Lobibox.alert('error', { title: 'Erreur', msg: 'Fichier introuvable' });     
            }
            else
                window.location.href = "/Log/GetTraitementLogs?idTraitement=" + $("#IdTraitement").val();
        },
        error: function (response) {
            Lobibox.alert('error', { title: 'Erreur', msg: response.responseText });
        }
    });
});

动作调用就是这个,想法是如果找到一个文件我返回true,否则为false:

public JsonResult FindFile(int idTraitement)
{
    string filename = string.Empty;

    try
    {
        filename = new QryTraitementService().GetErrLogFilename(idTraitement);
    }
    catch(Exception e)
    {
        return Json(new { success = false, responseText = e.Message }, JsonRequestBehavior.AllowGet);
    }

    return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}

然后,如果找到该文件:

public FileResult GetTraitementLogs(int idTraitement)
{
    string filename = new QryTraitementService().GetErrLogFilename(idTraitement);

    return File(filename,"text/csv",filename);
} 

所以,首先,当我回到客户端使用firefox或chrome时,我会转到ajax中的error,但是使用IE,我会在{{1}中使用var success取得成功}}

但是最大的问题是该函数总是将我重定向到无处,所以我在404中失败了。为什么这个调用总是重定向我?即使我没有传递data

0 个答案:

没有答案