Val*_*mas 9 ajax asp.net-mvc jquery forms-authentication google-chrome
问题摘要
通过表单身份验证登录Chrome后.作为returnUrl的登陆页面将错误我的jQuery ajax而不会命中服务器.的status code = 0和message = "error".(几乎没用).尝试过Firefox并且无法复制问题,我开始认为Chrome就是问题所在.清除缓存,关闭和重新打开不能解决问题.我能找到的最接近的文章就是这个.jQuery Ajax - 状态码0?
但是,URL是相对的,/Test
另一篇SO文章:chrome中的jquery ajax问题
更长的描述
我收到jQuery ajax的错误.似乎在使用表单身份验证登录后立即; 登陆页面(returnUrl),将JS错误.然后刷新页面(F5)后,脚本将(大部分)工作.即使不使用F5,使用链接导航到同一页面也可以让JS工作(主要是).登录后如此直接是我的主要测试路径.
此外,在另一个选项卡中导航/Test直接操作,有效.原始选项卡仍然出错,直到我按照提到的方式导航或刷新它.
我曾经有过航行或f5刷新不能阻止错误的时间.因此在开头段落中使用"大多数".
经过一天和一些无法通过研究找到一个可靠的理由,JS调试器,简化代码和各种场景; 我需要一些帮助.
Javascript错误反馈
我能收集到的最多的是一个status code of 0和一个error message of "error".
软件和版本
ASP.NET MVC 3
Chrome v28.0.1500.72 m
jQuery v1.8.3
AttributeRouting
Run Code Online (Sandbox Code Playgroud)
使用Chrome,我也尝试清空缓存和CTRL + F5.
MVC
我有一个受到[Authorize(Roles = "Admin")]禁用的操作,禁用此属性似乎可以解决我的问题,然后再解决我的问题.所以,抱歉,如果任何早先的陈述混淆 哈哈,短发!
[GET("Test")]
public ActionResult Test()
{
Console.WriteLine("Test");
return new EmptyResult();
}
Run Code Online (Sandbox Code Playgroud)
任何javascript脚本文件都不在使用表单身份验证保护的文件夹后面.
jQuery doc.ready
我有一个jQuery错误事件,我用它来暂停调试以查看对象的内容.
//-- while I am using this method, I have also used the `error: `
//-- part of $.ajax with the same result.
$(function ()
{
$(document).ajaxError(function (event, jqxhr, settings, exception)
{
Debug.Log("event: " + event);
Debug.Log("jqxhr: " + jqxhr.responseText);
Debug.Log("settings: " + settings);
Debug.Log("exception: " + exception);
});
});
Run Code Online (Sandbox Code Playgroud)
我有一个jQuery方法,使用以下事件加载.虽然followig脚本看起来会砰然关闭服务器.有时间逻辑确保它每5秒才会命中一次.
$(document).on('mousemove','*',function(e){ TestMethod(this,e,'mousemove');});
Run Code Online (Sandbox Code Playgroud)
Javascript方法
这是我的ajax调用,就像我能做到的那样简单.
function TestMethod(sender, e, eventTrgger)
{
$.ajax(
{
type: "GET",
url: '/Test',
dataType: 'html',
success: function (html)
{
//-- tested with nothing here.
}
});
}
Run Code Online (Sandbox Code Playgroud)
提琴手
发生错误时,Fiddler不会显示GET请求,这意味着服务器未被命中.此外,我在操作中放置了一个调试器断点,确认操作没有被命中.
附加: 由于ajax调用每5秒发生一次.在页面上看到状态-0和错误 - "错误"; 我清除了缓存而没有刷新页面,chrome和ajax请求开始工作.为了记录,我的chrome缓存设置被设置为我可以配置的缓存.
小智 8
该问题似乎是Chrome 28如何处理GET请求缓存的错误.版本27工作正常,版本28中的POST请求也正常.
您可以通过在$ .ajax()调用中将'cache'属性设置为false来解决此问题.
| 归档时间: |
|
| 查看次数: |
6636 次 |
| 最近记录: |