IE8 提示下载 JSON 响应
本文关键字:响应 JSON 下载 提示 IE8 | 更新日期: 2023-09-27 18:34:12
我一直在尝试jquery表单插件,它工作得很好。哦,除了IE8。它总是 ie8。
无论如何,在成功响应回调时,IE8 提示我下载响应而不是实际调用成功函数。
这是我的javascript代码的样子
$("#form1").ajaxForm({
url: "http://localhost:4887/api/file/POST",
type: "POST",
success: function (data)
{
//response stuff here
}
});
我尝试为 ajax 表单指定数据类型,但祸是我,它不起作用
我从服务器返回的唯一内容只是一个字符串。再一次,IE8提示我下载这个字符串,而不仅仅是调用成功函数。经过一些研究,我明白我可能不得不修改 http 标头?谁能对此有所了解?还是给出另一种方法?
更新下面简要介绍一下 C# 控制器
public class fileController : ApiController
{
public JsonResult POST()
{
HttpPostedFile file = null;
string encodedString = //do stuff here to get the base64 string
ModelName obj = new ModelName();
obj.characters = encodedString;
JsonResult result = new JsonResult();
result.Data = obj;
result.ContentType = "text/html";
return result;
}
请求标头...
接受 application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, /
接受语言 en-US
用户代理 Mozilla/4.0(兼容;微星 8.0;视窗NT 6.1;哇64;三叉戟/4.0;SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;媒体中心 PC 6.0; .NET4.0C; .NET4.0E;InfoPath.3; .NET CLR 1.1.4322(
内容类型多部分/表单数据;边界=---------------------------7dd3e622907b6
接受编码 gzip,放气
代理连接保持活动状态
内容长度 300
响应标头 HTTP/1.1 200 OK缓存控制无缓存
杂注无缓存
Content-Type application/json; charset=utf-8
过期 -1
服务器 Microsoft-IIS/8.0
X-aspNet-Version 4.0.30319X-供电 ASP.NET
试试这个:
[HttpPost]
public JsonResult POST()
{
HttpPostedFile file = null; ;
string encodedString = //get the file contents, and get the base64 encoded string
ModelName obj= new ModelName();
obj.characters = encodedString;
return Json(obj, "text/html");
}
更新:
或者更改内容类型
Response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
例:
public JsonResult POST()
{
HttpPostedFile file = null; ;
string encodedString = //get the file contents, and get the base64 encoded string
ModelName obj= new ModelName();
obj.characters = encodedString;
Response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return Json(obj, "text/html");
}