从 Yii2 的视图中的 Javascript 代码重定向到控制器操作
Redirect to a Controller Action from Javascript code in View in Yii2
$this->registerJS(
'var ok = confirm("File already exists!! Do you want to overwrite file");
if(ok)
{
"'.Url::toRoute('default/over-write?id=1').'";
}
else
{
"'.Url::toRoute('default/over-write?id=0').'";
};',View::POS_READY);
Url 调用应该调用 DefaultController 中的 actionOverWrite()。但这并没有发生。如何从视图中调用操作?
你可以试试:
$this->registerJS('
var ok = confirm("File already exists!! Do you want to overwrite file");
window.location.replace("'.Url::toRoute('default/over-write').'" + "?id=" + (ok ? 1 : 0));
', View::POS_READY);
阅读有关 js 重定向的更多信息:
How to redirect to another webpage in JavaScript/jQuery?
或者试试这个
$this->registerJS(
'var url = "'.Url::toRoute('default/over-write?id=').'";
if(confirm("File already exists!! Do you want to overwrite file"))
{
window.location.href = url + '1';
}
else
{
window.location.href = url + '0';
};',View::POS_READY);
$this->registerJS(
'var ok = confirm("File already exists!! Do you want to overwrite file");
if(ok)
{
"'.Url::toRoute('default/over-write?id=1').'";
}
else
{
"'.Url::toRoute('default/over-write?id=0').'";
};',View::POS_READY);
Url 调用应该调用 DefaultController 中的 actionOverWrite()。但这并没有发生。如何从视图中调用操作?
你可以试试:
$this->registerJS('
var ok = confirm("File already exists!! Do you want to overwrite file");
window.location.replace("'.Url::toRoute('default/over-write').'" + "?id=" + (ok ? 1 : 0));
', View::POS_READY);
阅读有关 js 重定向的更多信息: How to redirect to another webpage in JavaScript/jQuery?
或者试试这个
$this->registerJS(
'var url = "'.Url::toRoute('default/over-write?id=').'";
if(confirm("File already exists!! Do you want to overwrite file"))
{
window.location.href = url + '1';
}
else
{
window.location.href = url + '0';
};',View::POS_READY);