在MVC4网站上工作(目前开发仍处于早期阶段),我通过IIS Express进行调试(这里没什么特别的,我从Internet Application
模板开始,然后只需F5。
我有这条javascript:
function packData(F) {
F.data.value = Base64.encode(
JSON.stringify({
'myField': 'myData'
})
);
F.submit();
}
从局部视图调用此函数:
@using (Html.BeginForm(actionName: "autoMagic", controllerName: "Magic", method: FormMethod.Post, htmlAttributes: new { id = "autoMagicForm" }))
{
@Html.Hidden("data")
<input type="button" value="go!" onclick="packData(this.form)" />
}
表单应该充当传入POST请求的“模拟”。
我做了什么:
发布设置为File System
(在我的电脑上的本地文件夹中),启用了预编译,然后我将整个文件夹复制粘贴到远程服务器上。我还没有设置任何web.config转换。
浏览器是相同的:Internet Explorer 10
在远程服务器上,该文件夹设置为IIS中的应用程序,具有自己的应用程序池(Framework 4.0,集成)
我所看到的:
在IIS Express(localhost)上,一切都按预期工作:javascript函数和调用的控制器都成功地发挥了它们的魔力。
在部署服务器(http:testserver / site)上,IE抱怨 JSON未定义。
看起来我错过了什么?
我尝试使用IE的F12工具捕获网络流量,但我没有看到任何404
。
答案 0 :(得分:0)
在早期版本的IE(少IE8)中,未定义JSON对象(window.JSON)