我一直在尝试 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 , 应用程序/msword, /
Accept-Language en-US
用户代理 Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;WOW64;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0; .NET4.0C;.NET4.0E;InfoPath.3;.NET CLR 1.1.4322)
内容类型多部分/表单数据;边界=---------------7dd3e622907b6
接受编码 gzip,放气
代理连接保持活动
内容长度 300
响应头 HTTP/1.1 200 OK Cache-Control no-cache
杂注无缓存
内容类型应用程序/json;字符集=utf-8
过期 -1
服务器 Microsoft-IIS/8.0
X-AspNet-Version 4.0.30319 X-Powered-By ASP.NET