Javascript ie11中的url编码

Javascript ie11中的url编码,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,早上好。 我正在使用Angular处理MVC项目,并且我使用JsonResult从列表中返回一个Json,该列表包含特定日期的电子邮件 这是我从angular发出的ajax调用 myApp.service('mailService', function ($http) { this.getEmailByDate = function (date) { return $http.get("/Home/ShowEmailByDate/", { params: { date:

早上好。 我正在使用Angular处理MVC项目,并且我使用JsonResult从列表中返回一个Json,该列表包含特定日期的电子邮件

这是我从angular发出的ajax调用

myApp.service('mailService', function ($http) {
    this.getEmailByDate = function (date) {
        return $http.get("/Home/ShowEmailByDate/", { params: { date: date } });
    };
}); 
我的JsonResult在控制器中

public JsonResult ShowEmailByDate(string date)
{
    var selectedMsg = ClassHelper.listMsg;

    var result = selectedMsg.Select(s => new
    {
        From = s.From.RawValue,
        Date = s.Date.ToString("F"),
        searchDate = s.Date.ToString("dd/MM/yyyy"),
        sortDate = s.Date.ToString("M"),
        sortTime = s.Date.ToString("t"),
        Subject = s.Subject,
        Body = s.BodyHtml,
        Attachments = s.AttachmentFiles.Count(),
        Files = s.AttachmentFiles.Select(f => f.FileName)
    })
    .Where(s => s.searchDate == date)
    .OrderByDescending(s => s.sortDate)
    .ThenByDescending(s => s.sortTime);

    return Json(result, JsonRequestBehavior.AllowGet);
}   
现在我的问题只存在于IE中,在chrome和firefox上运行良好。当我执行ajax调用时,我在网络选项卡的开发者模式中看到的链接如下

htttp://localhost:0000/Home/ShowEmailByDate/?date=%E2%80%8E23%E2%80%8E%2F%E2%80%8E12%E2%80%8E%2F%E2%80%8E2015     
所以我得到一个空数组结果[]

在Firefox和Chrome中,链接看起来像

htttp://localhost:0000/Home/ShowEmailByDate/?date=22%2F12%2F2015 and its working fine.
日期参数是一个类似于2015年12月22日'dd/M/yyyy'的字符串


有什么想法吗?谢谢

您解码Url,然后使用它。因为在解码IE的所有输出url后,chrome和firefox都是您想要的

使用decodeURI()函数对URI进行解码

var uri=“%E2%80%8E23%E2%80%8E%2F%E2%80%8E12%E2%80%8E%2F%E2%80%8E2015”;
var dec=解码uri(uri);
var res=“解码URI:+dec;
document.getElementById(“demo”).innerHTML=res

我尝试使用decodeURI组件和decodeURI,但没有成功。你能给我一个关于我上面代码的例子吗?当我使用decodeURI解码你的url“%E2%80%8E23%E2%80%8E%2F%E2%80%8E12%E2%80%8E%2F%E2%80%8E2015”时,我得到的结果是chrome和firefox的url,如图23所示‎%2F‎12‎%2F‎2015请查看演示