Intereting Posts
Есть ли функция, чтобы сделать копию массива PHP другой? Я не нахожу ошибки. Этот код хорошо работает. Обновите мои данные отлично. Но 1 ошибка показывает Новый объект Mysqli – Null Загрузка файла для csv работает на локальном хосте, но не в режиме реального времени Отправка почты на локальный почтовый сервер – «SENT: 550 Недопустимый адрес». Как преобразовать нулевые значения в пустую строку в php-массиве? WooCommerce Изменить получателя электронной почты в зависимости от страны доставки подавление ошибок php? … почему? Мой экспорт csv, отображающий html, как избавиться? Как создать xml в php со специальными символами? Silverstripe DataObjects as Pages Part 2 tutorial – проблема с боковой панелью Получайте изображения с сервера PHP-MySql на Android с помощью json Как передать значения между страницами PHP для MVC? Вводная фильтрация PHP для сложных массивов Если PHP mt_rand () использует более быстрый алгоритм, чем rand (), почему бы просто не изменить rand () для использования более новой реализации?

размещение переменных PHP внутри файла javascript

По названию.

У меня есть часть jQuery, которая выглядит следующим образом:

$("<div class='creditCardDetails' id='usercurrentccbox'> <div class='creditCard'> <div class='cardChoice'> <span>Choose Card Type</span> <input name='cctype' type='radio' value='V' class='lft-field' id='visa' /> <label for='visa'></label> <input name='cctype' type='radio' value='M' class='lft-field' id='mastercard' /> <label for='mastercard'></label><input name='cctype' type='radio' value='A' class='lft-field' id='amex' /> <label for='amex'></label> </div> <!--cardChoice--> <div class='cardNumber'> <input name='ccn' id='ccn' type='text' class='long-field' value='<?php echo MaskCreditCard($loggedInfo[ccn]);?>' maxlength='19' readonly /> </div> <div class='cardCVV'> <input name='cvv' id='cvv' type='text' maxlength='5' class='small-field' /> </div> <div class='creditCardName'> <input name='ccname' id='ccname' type='text' class='long-field' value='<?php echo $loggedInfo[ccname];?>' readonly/> </div <div class='cardDate'> <input name='exp1' id='exp1' type='text' maxlength='2' class='small-field' value='<?php echo $loggedInfo[ccm];?>' readonly /><input name='exp2' id='exp2' type='text' maxlength='4' class='small-field' value='<?php echo $loggedInfo[ccy];?>' readonly /> </div> </div><!--creditCard-->").insertAfter("#paymentCardChoice"); 

Но, как вы увидите, у него есть переменные PHP, если у меня есть это встроенное в мой PHP-файл, это работает, но я хочу, чтобы файл PHP был как можно короче и помещал этот код в файл .js, и, конечно, мои переменные отображались только текст PHP не переменная сама.

Переменные, которые я пытаюсь вызвать, уже определены в файле config.php.

Должен ли я использовать что-то вроде этого? если это так, я застрял в том, как бы я назвал переменные в приведенном выше коде.

 $.post('phpfile.php', qString, function (data) { }, "json"); 

PHP-код не будет выполняться в файле .js . Очень простой способ заключается в том, чтобы поместить ваш JavaScript + PHP-код в .php файл; и установите заголовок типа содержимого, например:

 <?php # # script.js.php # header("Content-type: text/javascript"); ?> $("<div><?php echo $foo; ?></div>"); 

Вы найдете функцию json_encode очень удобной для преобразования практически любой переменной PHP (строки, числа, массивов и т. Д.) В действительный JavaScript. Эта функция выполняет поиск экранов, таких как " , \ , \n т. Д., Которые могут нарушить ваш код JavaScript. В следующем примере показано, как вы можете передать произвольные переменные PHP в код JavaScript:

 <?php # # script.js.php # header("Content-type: text/javascript"); ?> var config = <?php echo json_encode(array( "foo" => "foo", "bar" => "bar", "baz" => array( "baz1", "baz2" ) )); ?>; 

Вы можете включить «PHP-powered JavaScript» файл на странице PHP с помощью <script src> :

 <script type="text/javascript" src="script.js.php"></script> 

Если вы поместите его в отдельный .js файл, он не будет работать, поскольку Javascript является клиентской стороной, а PHP – серверной.

Ваша PHP-переменная работает только сейчас, поскольку она была объявлена ​​ранее на странице, прежде чем вставлять свой javascript, поэтому она отображается при загрузке страницы.

вы можете иметь файл PHP, который будет содержать ваш файл config.php

 include("config.php"); 

и тогда вы можете иметь свой код jquery в тегах сценария

 <script> // you jquery code with php config variables </script> 

.js

 var qString = 'selectedID=' +selectedID; $.post('/assets/inc/get-logged-info-card.php', qString, function (results) { $("<div class='creditCardDetails' id='usercurrentccbox'> <div class='creditCard'> <div class='cardChoice'> <span>Choose Card Type</span> <input name='cctype' type='radio' value='V' class='lft-field' id='visa' /> <label for='visa'></label> <input name='cctype' type='radio' value='M' class='lft-field' id='mastercard' /> <label for='mastercard'></label><input name='cctype' type='radio' value='A' class='lft-field' id='amex' /> <label for='amex'></label> </div> <!--cardChoice--> <div class='cardNumber'> <input name='ccn' id='ccn' type='text' class='long-field' value='"+results[0].maskccn+"' maxlength='19' readonly /> </div> <div class='cardCVV'> <input name='cvv' id='cvv' type='text' maxlength='5' class='small-field' /> </div> <div class='creditCardName'> <input name='ccname' id='ccname' type='text' class='long-field' value='"+results[0].ccname+"' readonly/> </div <div class='cardDate'> <input name='exp1' id='exp1' type='text' maxlength='2' class='small-field' value='"+results[0].ccm+"' readonly /><input name='exp2' id='exp2' type='text' maxlength='4' class='small-field' value='"+results[0].ccy+"' readonly /> </div> </div><!--creditCard-->").insertAfter("#paymentCardChoice"); }, "json"); 

.php

 <?php $selectedID = $_POST['selectedID']; $q = "SELECT * FROM tbl_user WHERE user_id = '$selectedID'"; $sql = mysql_query($q); $results = array(); while($row = mysql_fetch_array($sql)) { $results[] = array( 'cct' => $row['user_cct'], 'ccn' => $row['user_ccn'], 'maskccn' => MaskCreditCard($row['user_ccn']), 'ccname' => $row['user_ccname'], 'ccm' => $row['user_date_m'], 'ccy' => $row['user_date_y'] ); } echo json_encode($results); ?>