簡體   English   中英

Javascript函數在Chrome與Internet Explorer中返回不同的請求正文

[英]Javascript function returns different request body in Chrome vs. Internet Explorer

我有一個javascript函數,是一個ASP.NET應用程序,它根據我使用Chrome還是IE呈現不同的結果。 具體來說,我注意到,當我在Visual Studio中更改代碼時,對代碼的更改將在IE中捕獲,但不會在Chrome中捕獲。

// js function
$(optA).change(function () {
    var flag = $(this).val();
    var security_name = $(optType).val();
    var extract = security_name.substr(0,security_name.indexOf('-'));
    $.ajax({
        type:"POST",
        url: "relevant_class.asmx/GetTerms",
        data: "{ 'security_name': '" + security_name + "', 'flag': '" + flag + "'}", //Line that doesn't change in chrome but does in IE.
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            // sets some other terms 
        }
        failure: function (msg) {
            alert(msg);
        }
    })
});

public List<int> GetTerms(string security_name, string flag)
{
    Debug.WriteLine(security_name);
    Debug.WriteLine(flag);
}

如果我更改AJAX數據線

data:"{ 'security_name': '" + security_name + "', 'flagBOGUSENTRY': '" + flag + "'}" 

當我進入檢查元素->網絡選項卡,並查看GetTerms調用函數的請求正文時,在Chrome中,我看到了

{'security_name':'Apple','flag':'two-week'},

而在Internet Explorer中,

{“ security_name”:“ Apple”,“ flagBOGUSENTRY”:“兩周”}

即Internet Explorer反映了我的更改,但未反映Chrome。 為什么會這樣呢?

我沒有足夠的代表在原始文章的子主題中發表評論,因此請原諒我在這里進行回復。

如果我對Javascript進行了其他更改,是否需要再次清除緩存? 如果是這樣,是否有一種方法可以避免每次都要這樣做?

嘗試使用Chrome的熱鍵“硬重載”頁面: Control + Shift + r

通常這是可行的,但是您也可以通過F12打開chrome的調試器,然后右鍵單擊瀏覽器頂部的刷新按鈕來清空緩存+硬重載。

希望這會有所幫助並節省您的時間!

暫無
暫無

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

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