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

IE8 提示下载 JSON 响应

试试这个:

[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");
    }