Model view controller $.getJSON在Firefox和Internet Explorer之间的差异

Model view controller $.getJSON在Firefox和Internet Explorer之间的差异,model-view-controller,internet-explorer,firefox,getjson,Model View Controller,Internet Explorer,Firefox,Getjson,花了一段时间搜索,没有发现任何直接相关的内容。我已经解决了这个问题,但不知道为什么会这样。也许有人能回答这个问题。也许这个信息会帮助其他人 我的javascript是这样的: var userServicePath = serverPath + '/Login/RegisterUserDetails/' + userId; $.getJSON(userServicePath, null, createAndPopulateHiddenFields); 我的控制器运行查询,填充对象并通过以下方式

花了一段时间搜索,没有发现任何直接相关的内容。我已经解决了这个问题,但不知道为什么会这样。也许有人能回答这个问题。也许这个信息会帮助其他人

我的javascript是这样的:

var userServicePath = serverPath + '/Login/RegisterUserDetails/' + userId;
$.getJSON(userServicePath, null, createAndPopulateHiddenFields);
我的控制器运行查询,填充对象并通过以下方式返回对象:

return Json(qry, JsonRequestBehavior.AllowGet);
在我添加了几个字段之前,这一切都很顺利。修改对象和控制器后,IE中的响应显示新字段为空。控制器中返回值上的断点验证了新值是否正确进入对象。甚至Firebug也显示了这些值

仅供参考,我在MVC中的路由设置为url中第三个值的id值。有人知道为什么这在FF中有效,但在IE中却不行吗

为了解决这个问题,。。。我从userServicePath字符串中删除了userId,并将其作为参数添加到getJSON代码中

var userServicePath = serverPath + '/Login/RegisterUserDetails';
$.getJSON(userServicePath, { id: userId }, createAndPopulateHiddenFields);

如果有人有答案,那就太好了。否则,希望站在我的立场上的其他人能少花点时间寻找答案,继续前进。

在这里回答我自己的问题:

var userServicePath = serverPath + '/Login/RegisterUserDetails';
$.getJSON(userServicePath, { id: userId }, createAndPopulateHiddenFields);

这不是回答你自己问题的正确方式。如果你真的解决了自己的问题,你应该发布一个单独的答案。谢谢马特。以前从未在这里发布过,但我肯定将其用作资源。只是想给点回报,别担心!如果您还不知道,请查看。有: