ajax调用不会触发断点但会继续成功

我有这个ajax电话。 这是我第一次遇到这个问题。 首先,我的行动的断点没有被击中。 其次,正在执行成功function。 第三,我的storeList / data的值是整个身体内容的整个代码。 这可能是因为我找不到行动造成的。

$.ajax({ type: 'POST', url: '/reports/GetStoreFranchiseList?franchiseId=' + franchiseId, success: function (storeList) { console.log(storeList); var appendStr = "
  • All
  • "; // $.each(storeList, function (k, v) { // console.log(v); // appendStr += "
  • " + v.StoreName + "
  • "; // }); console.log(appendStr); $(".rptStoreDdl").html(appendStr); $("#rptStoreDdlDv").removeClass().addClass("btn-group"); } });

    当我尝试取消注释每个函数时,我收到此错误: Uncaught TypeError: Cannot use 'in' operator to search for '21748' in #

    显然是因为数据错了。 任何想法家伙? 谢谢!

    编辑:

    尝试通过fiddler访问它,我得到这个: /Error/NotFound?aspxerrorpath=/reports/GetStoreFranchiseList

    这会触发我找不到的客户错误。 我真的不确定为什么我的行动找不到。

    控制器动作:

     [InPrivate] public class ReportsController : Controller { [HttpGet] public JsonResult GetStoreFranchiseList(string franchiseId) { var data = new List(); if(WebUser.Franchisees != null && WebUser.Franchisees.Count() > 0) { data = WebUser.Franchisees.FirstOrDefault(a => a.Id == franchiseId).Stores; } return Json(data, JsonRequestBehavior.AllowGet); } } 

    很可能是一个无声的例外。 我也遇到了同样的问题。 值得注意的是,并非所有exception都会触发运行时错误,从浏览器/客户端可能看起来已经返回了有效的返回类型。 在我的例子中,我能够使用Visual Studio的Intellitracefunction来嗅出以下静默exception:

    “JSON请求太大而无法反序列化”

    这给了我通过其他Stack Overflow响应解决问题所需的线索

    我建议尝试使用Intellitrace附带的Visual Studio的Ultimate版本来查看是否有类似的exception干扰了您的服务器端代码,并最终欺骗客户端认为返回了有效的响应。

    祝你好运

    尝试像这样指定url:

     url: '../Reports/GetStoreFranchiseList?franchiseId=' + franchiseId, 

    要么

     url: '@Url.Action("GetStoreFranchiseList","Reports")' + '?franchiseId=' + franchiseId,