花了一段时间搜索这个并发现没有直接相关的东西。我已经解决了这个问题,但想知道为什么会这样。也许有人可以回答这个问题也许这些信息可以帮助其他人。
我的javascript就是这样:
var userServicePath = serverPath + '/Login/RegisterUserDetails/' + userId;
$.getJSON(userServicePath, null, createAndPopulateHiddenFields);
My Controller运行查询,填充对象并通过以下方式返回对象:
return Json(qry, JsonRequestBehavior.AllowGet);
这个工作正常,直到我添加了几个字段。修改对象和控制器后,我在IE中的响应对于我的新字段显示为null。控制器中返回值的断点验证了新值是否正确进入对象。甚至Firebug都展示了价值观。
仅仅是一个FYI,我在MVC中的路由设置为url中第三个值的id值。任何人都有任何想法,为什么这将在FF中工作,但不在IE中。
对于修复,...我从userServicePath字符串中删除了userId,并将其作为参数添加到getJSON代码中。
var userServicePath = serverPath + '/Login/RegisterUserDetails';
$.getJSON(userServicePath, { id: userId }, createAndPopulateHiddenFields);
如果有人有答案,那就太好了。否则,希望我身上的其他人可以花更少的时间寻找答案并继续前进。
答案 0 :(得分:0)
在这里回答我自己的问题:
var userServicePath = serverPath + '/Login/RegisterUserDetails';
$.getJSON(userServicePath, { id: userId }, createAndPopulateHiddenFields);