IE 11中的url编码

Goodmorning. Im working on MVC project with Angular and im using a JsonResult to return a Json from a list that i have with emails with the specific date.

Here is my ajax call from angular

myApp.service('mailService', function ($http) {
    this.getEmailByDate = function (date) {
        return $http.get("/Home/ShowEmailByDate/", { params: { date: date } });
    };
}); 

My JsonResult in Controller

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

Now the problem that i have exists only in IE. On chrome and firefox is working fine. The link that i see in developer mode in Network tab when i execute the ajax call is like

htttp://localhost:0000/Home/ShowEmailByDate/?date=%E2%80%8E23%E2%80%8E%2F%E2%80%8E12%E2%80%8E%2F%E2%80%8E2015     

So im getting an empty array result []

In Firefox and Chrome the link looks like

htttp://localhost:0000/Home/ShowEmailByDate/?date=22%2F12%2F2015 and its working fine.

the date param is a string like 22/12/2015 'dd/M/yyyy'

Any ideas? Thanks!

You decode Url and then use it. because after decoding all output url of IE, chrome and firefox are same as you want.

Use decodeURI() function to decode a URI.

var uri = "%E2%80%8E23%E2%80%8E%2F%E2%80%8E12%E2%80%8E%2F%E2%80%8E2015";
var dec = decodeURI(uri);
var res = "Decoded URI: " + dec;
document.getElementById("demo").innerHTML = res;
<p id="demo"></p>

</div>