从Yii2中视图中的Javascript代码重定向到控制器操作

从Yii2中视图中的Javascript代码重定向到控制器操作,yii2,Yii2,Url调用应该调用DefaultController中的actionOverWrite()。但这并没有发生。如何从视图调用操作?您只需尝试: $this->registerJS( 'var ok = confirm("File already exists!! Do you want to overwrite file"); if(ok) { "'.Url::toRoute('default/over-write?id=1').'"; } el

Url调用应该调用DefaultController中的actionOverWrite()。但这并没有发生。如何从视图调用操作?

您只需尝试:

$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);
阅读有关js重定向的更多信息:

您只需尝试:

$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);
阅读有关js重定向的更多信息: 或者试试这个

$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);
或者试试这个

$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);

使用以下命令:window.location.href='';使用以下命令:window.location.href='';