簡體   English   中英

jQuery.form提交與IE有關的問題(7-9,可能是10)

[英]jQuery.form submitting issues with IE (7-9, possibly 10)

我正在嘗試在IE中進行表單提交工作。 我在Chrome,FF,Opera和Safari中都能使用。 我相信它也可以在IE10中使用,但我沒有這里的設備可以再次進行測試(我之前在IE10中已經對此進行了測試,效果很好。我對頁面進行了一些更改,但我非常確定更改不會影響此表單)。

基本上,我有一個提交記錄的表單,但使用jquery.form控件提交:

<form action="@Url.Content("/ActivitySubmission/SubmitWork")" class="activityForm" id="formId-@(item)" method="post">

和jQuery代碼來處理提交:

$(".activityForm").submit(function (e) {
        e.preventDefault();

        var parts = $(this).prop("id").split("-");
        var activityTemplateId = parts[3];
        var resultsDivId = "#activityResults" + activityTemplateId;
        var msg = '<div style="height:40px; margin-right:20px; float:left;"><img src="/Content/Images/loadingSpinner.gif" /></div>' +
            'Saving your work...<div style="clear:both;"></div>';
        $(resultsDivId).html(msg).slideDown();

        var action = $(this).prop("action");

        $(this).ajaxSubmit({
            url: "/ActivitySubmission/SubmitWork",
            data: {activityTemplateId: activityTemplateId},
            iframe: true,
            target: resultsDivId,
            dataType: 'json',
            success: function (data, textStatus, jqXHR) {
                var parts = data.split("|");
                var status = parts[0];
                var message = parts[1];
                $(resultsDivId).html('<div class="activitySuccess">' + message.replace("\"", "") + '</div>');

                $("#reloadReminder").fadeIn("1200");

                return false;
            },
            error: function(jqXHR, textStatus, errorThrown){
                $(resultsDivId).html('<div class="activityError">Sorry, unable to act on your save or submit command.  Please let the monitor know.</div>');
                alert(errorThrown);
                return false;
            }
        });

        return false;
    });

在IE中,該表單將返回並返回到頁面,並在控制器(/ ActivitySubmission / SubmitWork)BUT中運行該代碼,但它不會運行.ajaxSubmit({...}); 它只是給我一個“保存/打開/運行”對話框:

保存對話框

關於為什么在IE中發生這種情況以及如何更改這種情況有任何想法嗎?

如果您在ajax調用中意外獲取“保存/打開/運行”對話框,則意味着服務器未在HTTP標頭中提供正確的mime類型信息,因此瀏覽器將響應錯誤地標識為需要下載的文件。

您需要添加一個HTTP標頭,該標頭指定要發送的數據類型。 例如,在這種情況下,您似乎正在發送HTML代碼段,因此發送一個指定text/html的標頭。

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM