0

在一个 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 中的应用程序,具有自己的应用程序池(框架 4.0,集成)

我所看到的:

  • 在 IIS Express (localhost) 上,一切都按预期工作:javascript 函数和调用的控制器都成功地执行了它们的魔法。

  • 在部署服务器 (http:testserver/site) 上,IE 抱怨JSON is undefined

看起来我错过了什么?

我尝试使用 IE 的 F12 工具捕获网络流量,但我没有看到任何404.

4

1 回答 1

0

在早期版本的 IE(更少的 IE8)JSON 对象(window.JSON)没有定义

于 2013-04-17T10:18:59.303 回答