簡體   English   中英

根據瀏覽器設置內容類型

[英]Set content type based on browser

我正在使用asp.net mvc 3並將json返回給用戶。 我這樣做是:

return Json(results, JsonRequestBehavior.AllowGet)  

結果只是我創建的一個簡單的viewmodel c#類。 在FF和chrome中效果很好,但是IE 9要求打開或保存結果。 在我所到之處,人們都說“修復”是要執行以下操作:

return Json(results, "text/html", JsonRequestBehavior.AllowGet)

這在IE中確實對我有用,但是在chrome和/或firefox中不起作用。 它適用於某些版本,但不是全部。 我想知道如果瀏覽器是IE,是否有可能返回text / html,否則返回普通的JSON。 還是有更好的解決方案? 提前致謝!

我假設您正在執行AJAX調用,如果這樣,您擁有的解決方案是使所有瀏覽器將返回值視為HTML的正確方法,這比以不同方式處理每個瀏覽器要好得多。

但是,為了能夠使用返回的值,您將需要將返回的html解析為JSON。

在AJAX調用的成功回調中,只需添加以下內容:

var jsonResponse = $.parseJSON(response);

暫無
暫無

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

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