Ajax POST - 不推荐用于同步请求的“XMLHttpRequest.withCredentials”
Posted
技术标签:
【中文标题】Ajax POST - 不推荐用于同步请求的“XMLHttpRequest.withCredentials”【英文标题】:Ajax POST - 'XMLHttpRequest.withCredentials' for synchronous requests is deprecated 【发布时间】:2015-08-15 14:39:00 【问题描述】:我想做的事情应该很简单。
我正在尝试将一些表单值发布到返回 JSON 的 mvc 控制器。
如果我获得成功,我会显示一个弹出窗口,如果我获得错误,我会显示另一个弹出窗口。
但在控制台中出现两个错误:
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
browserLink:37 Setting 'XMLHttpRequest.withCredentials' for synchronous requests is deprecated.
Navigated to http://aso.local/
页面会重新加载。
这是我的代码:
$('#mail-message-btn').click(function ()
if ($("form")[0].checkValidity())
var formParams = $('#contact-form').serialize();
$.post('/umbraco/surface/Contact/ContactForm', formParams, function (data)
processData(data);
);
);
function processData(data)
$('#mail-failure').hide();
$('#invalid-email').hide();
$('#empty-field').hide();
$('#mail-success').hide();
if (data.success == 'True')
$('#mail-message-header').toggleClass('mail-message-error', false);
$('#mail-message-header').toggleClass('mail-message-success', true);
$('#mail-success').show();
$('#mail-message').show();
alert("true");
else if (data.success == 'False')
alert("false");
$('#mail-message-header').toggleClass('mail-message-error', true);
$('#mail-message-header').toggleClass('mail-message-success', false);
$('#mail-failure').show();
$('#mail-message').show();
我将测试警报窗口放入以确保我进入正确的 if 块,并且当我这样做时它可以工作! (弹出窗口显示)但只要我在警报框中单击确定,我的弹出窗口就会消失!
太令人沮丧了,我也尝试了 $.Ajax,结果相同!
帮助?
【问题讨论】:
jQuery has deprecated synchronous XMLHTTPRequest的可能重复 【参考方案1】:您看到的错误来自 Visual Studio 的 BrowserLink。可以尝试禁用 BrowserLink 看看是否仍然出现错误?
http://www.poconosystems.com/software-development/how-to-disable-browser-link-in-visual-studio-2013/
【讨论】:
非常感谢你,经典的视觉工作室魔术!以上是关于Ajax POST - 不推荐用于同步请求的“XMLHttpRequest.withCredentials”的主要内容,如果未能解决你的问题,请参考以下文章
js中请求数据的$post和$ajax区别(同步和异步问题)
jQuery基础(Ajax,load(),getJSON(),getScript(),post(),ajax(),同步/异步请求数据)