Jquery 在ajax请求不满足';不能在Chrome iOS和Android中工作
我尝试执行AJAX请求并创建下载:Jquery 在ajax请求不满足';不能在Chrome iOS和Android中工作,jquery,ajax,Jquery,Ajax,我尝试执行AJAX请求并创建下载: $.ajax({ url: "urlToVerifyRights", ..., complete: function(){ location.href = ... } }); 似乎不适用于Chrome iOS和Android,但适用于桌面和Safari iOS 问题出在哪里?尝试“完成” $.ajax({ ... ... }).done(function() { location.href =
$.ajax({
url: "urlToVerifyRights",
...,
complete: function(){
location.href = ...
}
});
似乎不适用于Chrome iOS和Android,但适用于桌面和Safari iOS
问题出在哪里?尝试“完成”
$.ajax({
...
...
}).done(function() {
location.href = ...
});
对此进行修改:
$.ajax({
url: "urlToVerifyRights",
...,
complete: function(){
location.href = ...
return false;
}
});
相关:最后一次尝试,现在承诺:
doAjax: function () {
var deferredValue = $.Deferred(),
$.ajax({
url: "urlToVerifyRights",
...,
complete: function(){
deferredValue.resolve();
}
});
return deferredValue.promise();
}
doAjax ()
.then(function () {
location.href = ...
})
我通过以下解决方法解决了这个问题: //我的意思是,$.ajax中的
complete
complete: function(){
var $form = $("<form>");
$form.prop("method", "POST");
$form.prop("action", "urlToDownload");
$form.prop("id", "test");
$form.append($("<input type='hidden' value='aValue' name='inputName' />"));
$("body").append($form);
$form.submit();
}
complete:function(){
变量$form=$(“”);
$form.prop(“方法”、“职位”);
$form.prop(“action”、“urlToDownload”);
$form.prop(“id”、“测试”);
$form.append($(“”));
$(“正文”)。附加($表格);
$form.submit();
}
这就是工作。我不知道为什么,但很有效。同样的事情。。。什么也没发生,下载不起作用。请尝试添加。也失败。也许ajax不起作用是因为跨域或类似的东西我使用Telerik的AppBuilder进行了调试,并且没有出现错误。我在
fail
中放了一个警报,它没有显示在屏幕上,所以没有错误。你能做一个小提琴来重现吗?JSFIDLE不会有帮助,我创建了一个简单的应用程序,我把它放在IIS服务器上,我重现了这个问题,即使没有错误发生。同样的事情(同样的问题)对不起,没有更多的数据,我也帮不上忙。它应该可以正常工作。您可以使用setTimeOut
测试2秒钟并进行下载。同样的事情。。。在Safari上工作,但在Chrome上不工作当你说“下载”时,你是说你的location.href链接到一个可下载的文件吗?您是否尝试将location.href更改为警报或日志以检查问题是否存在?我已检查,确定。。。url是可以的。我用一个简单的location.href
尝试了一个小应用程序,效果很好。使用ajax是行不通的。请看我的答案,我找到了解决问题的方法