IE浏览器下,页面接口成功调用,但是后台调试并没有进入对应控制器内是为什么

如题:我页面上需要请求一个接口:

 $.get(url, data, function (res) {
    if (res.Code == 100) {
        //...
    } else {
        //...
    }
})
//接口返回-1,报网络故障的错误

后来百度了一下,有人说是跨域问题,抱着试一试的心态,做了如下改动:

$.ajax({
    type:"get",
    url:url,
    dataType:"jsonp",
    jsonpCallback:"cb",
    success:function(){
        //...
    }
});
//接口返回-1,报网络故障的错误

我断点调试了一下,控制台中接口已经成功调用,所传的参数都是符合预期的。但是后台的同事在同时调试接口时发现他那边并没有进入对应的控制器内。。。直接抛出了异常,我没明白问题到底出在哪里。请高手指教Orz!

补上后台的这个接口代码:

public JsonResult QueryActivityList(int status,int pageIndex,int pageSize)
        {
            try
            {
                var result = ComssionActivityBLL.Instance.QueryData(UserContext.CurrentStore.ID, status, pageIndex, pageSize);
                return Json(Repost.Return(result), JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json(Repost.SysError(), JsonRequestBehavior.AllowGet);
            }
        }
        貌似直接catch了
阅读 2.9k
2 个回答

我之前遇到过一次在ie里跨域访问其他接口,就是报错语法不对,后来知道是跨域问题。你可以尝试一下让后台去访问跨域的接口,这样就避免这个问题

这个问题,后来又去问了一下后台的同事,貌似所有的接口有一些公共的参数,而这些参数是存的cookie,ie浏览器获取不到这些参数,所以如上的后台代码中接口直接就cacth了(不过我也没在代码中有看到对这些公共参数的逻辑判断啊),因为确实不太能看懂后台代码,所以他们说是这个原因那就是这个原因吧(不然我还能怎样,只能期望客户别用该死的ie runingCode就行了,反正锅也不在我这里)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏