Weather2 vs Weather - 重命名 mvc 控制器的操作如何导致 ajax 请求失败?
Weather2 vs Weather - how renaming mvc controller's action can result in ajax request failure?
您好,我有一个 MVC 应用程序,其中包含 1 个视图索引和几个正在通过 jQuery.load() 函数加载到相应 div 中的部分视图。现在我看到一个非常奇怪的行为:
现有代码:
public ActionResult Weather()
{
return PartialView(WeatherManager.GetWeather());
}
和
$('#weather').load('Home/Weather');
生成此 javascript 错误:
请注意,根本没有调用该操作,就像 ajax 调用被阻止一样。
但是!,如果我只是将控制器的操作重命名为 Weather2
并将 jQuery 调用更改为 $('#weather').load('Home/Weather2');
然后一切正常:)
我不知道为什么会这样。
没有任何代码更改,只是将 Weather 重命名为 Weather2,仅此而已。
有什么想法吗?
P.S> 我不想让 google oauth 代码背后的问题过于复杂,只是因为天气操作没有使用 google oauth,Google Oauth 是用于其他两个操作(日历和 Gmail)。是的,我不清楚为什么这里涉及对 google oauth 的请求。提供更多细节,跟踪显示重命名操作 Weather2 -> Weather 导致 Response Headers 被更改,以下是屏幕截图:
另一件事 - 当我直接导航到 http://localhost/Homepage/Home/Weather
时,请求被重定向到
http://localhost/Homepage/AuthCallback/IndexAsync?state=http://localhost/Homepage/Home/Weather43537229&code=4/ZQExqQ1-1PvS87bn87g986t98y6bcnXfry4RuzdyAQkTgDNMs.Ym8n4sn9PwjkhIBIB0ZRONyF65E5ZflQI
失败:
然而,在将操作重命名为 Weather2 并导航到它 http://localhost/Homepage/Home/Weather2
之后,一切都奇迹般地起作用了:
这怎么可能???
找到问题了!
那是一个卡在 IIS 托管中的该死的孤立应用程序(或幽灵应用程序或僵尸应用程序):)
有一些相关的文章:
http://weblog.west-wind.com/posts/2008/Aug/09/Editing-Applicationhostconfig-on-64-bit-Win2008
我发现编辑 c:\windows\system32\inetsvr\config\applicationhost.config - 解决僵尸应用程序问题的最简单方法。
天哪,找那个该死的东西需要时间...
您好,我有一个 MVC 应用程序,其中包含 1 个视图索引和几个正在通过 jQuery.load() 函数加载到相应 div 中的部分视图。现在我看到一个非常奇怪的行为:
现有代码:
public ActionResult Weather()
{
return PartialView(WeatherManager.GetWeather());
}
和
$('#weather').load('Home/Weather');
生成此 javascript 错误:
请注意,根本没有调用该操作,就像 ajax 调用被阻止一样。
但是!,如果我只是将控制器的操作重命名为 Weather2
并将 jQuery 调用更改为 $('#weather').load('Home/Weather2');
然后一切正常:)
我不知道为什么会这样。
没有任何代码更改,只是将 Weather 重命名为 Weather2,仅此而已。
有什么想法吗?
P.S> 我不想让 google oauth 代码背后的问题过于复杂,只是因为天气操作没有使用 google oauth,Google Oauth 是用于其他两个操作(日历和 Gmail)。是的,我不清楚为什么这里涉及对 google oauth 的请求。提供更多细节,跟踪显示重命名操作 Weather2 -> Weather 导致 Response Headers 被更改,以下是屏幕截图:
另一件事 - 当我直接导航到 http://localhost/Homepage/Home/Weather
时,请求被重定向到
http://localhost/Homepage/AuthCallback/IndexAsync?state=http://localhost/Homepage/Home/Weather43537229&code=4/ZQExqQ1-1PvS87bn87g986t98y6bcnXfry4RuzdyAQkTgDNMs.Ym8n4sn9PwjkhIBIB0ZRONyF65E5ZflQI
失败:
然而,在将操作重命名为 Weather2 并导航到它 http://localhost/Homepage/Home/Weather2
之后,一切都奇迹般地起作用了:
这怎么可能???
找到问题了! 那是一个卡在 IIS 托管中的该死的孤立应用程序(或幽灵应用程序或僵尸应用程序):) 有一些相关的文章:
http://weblog.west-wind.com/posts/2008/Aug/09/Editing-Applicationhostconfig-on-64-bit-Win2008
我发现编辑 c:\windows\system32\inetsvr\config\applicationhost.config - 解决僵尸应用程序问题的最简单方法。
天哪,找那个该死的东西需要时间...