.js 파일 내에서 PHP 코드 실행
PHP를 .js 파일 내에서 실행하려고 하는데, 제대로 하는 방법을 모르는 것 같습니다.
기본적으로 코드는 내 페이지에 HTML 태그를 추가하는 것으로, 슬라이드 아웃 연락처 폼으로 사용하고 있습니다.그러나 연락처 양식 자체는 워드프레스로 단축코드로 이루어집니다.그래서 폼을 슬라이드시키는 코드 안에서 쇼트 코드를 동작시키려 하고 있습니다.
var phpTest = '<?php do_shortcode("[contact-form-7 id=\'1088\' title=\'Live Chat Form\']"); ?>';
// add feedback box
$this.html('<div id="fpi_feedback"><div id="fpi_title" class="rotate"><h2>'
+ thisSettings.title
+ '</h2></div><div id="fpi_content">'
+ phpTest
+ '</div></div>');
변수 "phpTest"를 텍스트가 포함된 일반 문자열로 변경하면 정상적으로 표시됩니다.이 경우 php를 어떻게 실행해야 할지 모르겠습니다.
편집: 스크립트 유형은 항상 다음과 같아야 합니다.text/javascript~하듯이application/javascript오래된 브라우저와의 호환성이 깨질 수 있습니다(IE8 이전 버전에서는 해당 유형의 스크립트태그는 무시될 것으로 생각됩니다).단, 콘텐츠유형은application/javascript.
php를 php에 혼재시킬 수 없습니다..js파일, 일반 파일처럼.php파일, 그 이후.js파일은 에 의해 사전 처리되지 않습니다..php의 방법으로 엔진을 작동시키다.php파일이 있습니다.
이를 위한 가장 일반적인 방법은 js 파일에 php를 포함하여 인라인 JS(sube-between)를 갖는 것입니다.<script>tags)를 사용합니다.그러면 예상대로 될 거예요.
또 다른 방법은 php 내에서 js 파일을 만드는 것입니다.따라서 .php 파일을 시작합니다.
<?php
header("Content-type: application/javascript");
?>
var jsvar='something';
var othervar='<?php echo $phpVar; ?>';
//<?php //some php ;?>
그리고 나서 이렇게 당신의 페이지에 포함시키세요.
<script src='myjs.php' type='text/javascript'></script>
당신의 질문은 불가능하다고 코멘트를 드렸습니다만, 확실히 가능합니다.이는 권장되지 않지만 보안 취약점이 우려되지 않는 경우 다음과 같은 방법으로 문제를 해결할 수 있습니다.
작성하다.htaccess같은 디렉토리에 있는 파일.js파일(다음 포함)
AddHandler application/x-httpd-php .js
<FilesMatch "\.js$">
Header set Content-Type "text/javascript; charset=utf-8"
</FilesMatch>
그러면 JavaScript 파일이 PHP로 실행되고 Content-Type for .js 파일이 자동으로 수정됩니다(ph 핸들러를 추가하면 텍스트로 표시되기 때문입니다).
주의: 이 솔루션은 빠르고 지저분한 솔루션이지만 Ajax를 사용하는 것이 더 좋습니다(chiliNUT의 답변 참조).
.php 파일에 대한 Ajax 포스트 요청을 수행할 수 있습니다.조금 지저분한 속임수지만 효과가 있다
$.post('thePhpFile',{var1:var1,var2:var2},function(result){
//Code to do with the resulted... like $("#div").html(result);
});
그 요령만 있으면 네가 원하는 건 뭐든지 할 수 있어
파일명이 myscript.js라고 합니다.
머리 태그(실행 가능한 php 파일이어야 함):
<head>
<script type="text/javascript">
<?php
require_once 'myscript.js';
?>
</script>
...이렇게 하면 그 파일을 php 파일처럼 실행할 수 있습니다.
AJAX를 사용하여 다음과 같은 작업을 수행할 수 있습니다.
JS 코드:
var xmlhttp;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
$this.html('<div id="fpi_feedback"><div id="fpi_title" class="rotate"><h2>'
+ thisSettings.title
+ '</h2></div><div id="fpi_content">'
+ xmlhttp.responseText
+ '</div></div>');
}
}
xmlhttp.open("GET","do_shortcode_file.php",true);
xmlhttp.send();
do_shortcode_file.php에는 다음과 같은 것이 필요합니다.
PHP 코드:
<?php
echo do_shortcode("[contact-form-7 id=\'1088\' title=\'Live Chat Form\']");
언급URL : https://stackoverflow.com/questions/23574306/executing-php-code-inside-a-js-file
'programing' 카테고리의 다른 글
| Oracle에서 에일리어스를 정의하려면 'as' 키워드가 필요합니까? (0) | 2023.03.06 |
|---|---|
| null 유효 JSON(4바이트, 기타 없음) (0) | 2023.03.06 |
| 파일에 sqlplus 출력 쓰기 (0) | 2023.03.06 |
| 고유한 값을 반환하는 Oracle의 LISTAGG (0) | 2023.03.06 |
| Angularjs 라디오 버튼 (0) | 2023.03.06 |