我在JS中有以下代码:
$('#external-apply-job a').click(function(e) {
var button = $(this);
var url = $(this).data("system-url");
loadPreloader();
$.ajax({
url: url,
type: 'GET',
async: false,
data: {mode: 'json'},
dataType: 'json',
})
.done(function(data) {
if (data.type !== 'danger')
{ $(button).html(data.message); $(button).addClass('clicked'); $(button).trigger('click');}
})
.always(function() {
unloadPreloader();
});
});
这就是链接:
<a target="_blank" href="generated url" title="some name">Sistem</a>
我知道使用
$.ajax({
url: url,
type: 'GET',
async: false,
data: {mode: 'json'},
dataType: 'json',
})
点击应该是受信任的事件,但是这个代码有什么问题 PS:如果我使用target =“_ self”一切都好,但我需要打开一个新窗口。 THX。
答案 0 :(得分:1)
当用户点击您的链接时,您的ajax请求应该按预期工作。将链接的代码更改为ajax请求的结果,然后通过select concat(CONVERT(DATE, LEFT('20161212093256', 8)) , ' ' , substring(RIGHT('20161212093256', 6),1,2)+ ':' + substring(RIGHT('20161212093256', 4),1,2) + ':' +RIGHT('20161212093256', 2))
以编程方式调用事件处理程序后,会出现此问题。由于安全限制,程序触发的ajax请求将无法工作,至少在他们打开新窗口/标签时是这样。
如果您只想打开带有网址的新窗口或标签,则可以使用trigger()
。
答案 1 :(得分:0)
@ Raphioly-San Thx为sugest,我使用了async: true
。