[英]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.