Heim >Backend-Entwicklung >PHP-Tutorial >Yii erstellt Variablen in der Ansicht (schützt den PHP-Code) und ruft die Codeinstanz der zuvor erstellten Variablen in der js-Datei auf

Yii erstellt Variablen in der Ansicht (schützt den PHP-Code) und ruft die Codeinstanz der zuvor erstellten Variablen in der js-Datei auf

PHP中文网
PHP中文网Original
2017-03-30 14:51:051388Durchsuche

Geben Sie zunächst den Code ein:

Dies ist die Ansichtsite/reg.php

    $cs = Yii::app()->getClientScript();
    $cs->registerScriptFile('/js/verify-code.js',CClientScript::POS_END);

Dies ist in der Datei „layout/main.php“

$commonValue = json_encode([
            'SmsVerifycodeUrl' => Yii::app()->createAbsoluteUrl('site/SendSmsCode'),
            'WaitSecond' => WapMember::DEFAULT_INTERVAL,
    ]);
Yii::app()->clientScript->registerScript("var commonValue = $commonValue",CClientScript::POS_END);

Dies ist in der Datei „Verify-code.js“

var initSecond = (typeof CommonValue.WaitSecond) == "undefined" ? 180 : CommonValue.WaitSecond,
    waitSecond =initSecond,
    SmsVerifyCode = function(btn, form) { this.getBtn = btn; this.form = form;},
       SCF;

Das ist Chrom-Browser Fehler vom Gerät gemeldet
verify-code.js:1 Uncaught ReferenceError: CommonValue is not defined

Antwortinhalt:

Endlich gefunden:
Es stellte sich heraus, dass es geschrieben wurde

Yii::app()->clientScript->registerScript("var commonValue = $commonValue",CClientScript::POS_END);

Ein Parameter fehlt. Das Ergebnis sieht so aus:

Yii::app()->clientScript->registerScript('commonValue',"var commonValue = $commonValue",CClientScript::POS_END);

POS_END von CommonValue wird einfach an POS_HEAD angepasst.

Oder stellen Sie sicher, dass $commonValue vor render('reg.php') in main.php platziert wird. Die beiden RegisterScripts sind in der richtigen Reihenfolge

ps: Kann

verify-code.js Funktion oder Objekt zurückgeben, statt „Führt diese Datei aus“ Referenz globale Variable ?
Ich habe solchen Code schon einmal gepflegt, er ist widerlich

Das Obige ist der Inhalt des Codebeispiels, in dem Yii Variablen in der Ansicht erstellt (zum Schutz des PHP-Codes) und die zuvor erstellten Variablen in der js-Datei aufruft Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn