繁体   English   中英

Jquery 脚本中的 PHP 回显

[英]PHP echo in Jquery script

我在显示来自 jQuery 脚本的 PHP echo时遇到问题。 代码以纯文本形式显示。 我不想从 PHP 加载它。 我试图做所有事情,但除了将代码显示为 PHP 的那个之外,它没有任何效果。 通过添加而不是替换文本,HTML 仅显示引号。

有什么解决办法吗?

 var currentBackground = 0; var currentNaglowek = 0; var currentTekst = 0; var backgrounds = []; backgrounds[0] = 'https://via.placeholder.com/1920x360'; backgrounds[1] = 'https://via.placeholder.com/1920x360'; backgrounds[2] = 'https://via.placeholder.com/1920x360'; var naglowek = []; naglowek[0] = "<?php echo ($language['carousel_header1']); ?>"; naglowek[1] = "<?php echo ($language['carousel_header2']); ?>"; naglowek[2] = "<?php echo ($language['carousel_header3']); ?>"; var tekst = []; tekst[0] = "<?php echo ($language['carousel_text1']); ?>"; tekst[1] = "<?php echo ($language['carousel_text2']); ?>"; tekst[2] = "<?php echo ($language['carousel_text3']); ?>"; function changeBackground() { currentBackground++; currentNaglowek++; currentTekst++; if (currentBackground > 2) currentBackground = 0; if (currentNaglowek > 2) currentNaglowek = 0; if (currentTekst > 2) currentTekst = 0; $('#sliderBox ').fadeOut(1500, function() { $('#sliderTexts').html('<p>"' + naglowek[currentNaglowek] + '"</p>'); $('#sliderTexts').html('<p>"' + tekst[currentTekst] + '"</p>'); $('#sliderBox ').css({ 'background-image': "url('" + backgrounds[currentBackground] + "')" }); $('#sliderBox ').fadeIn(1500); }); setTimeout(changeBackground, 7000); } $(document).ready(function() { setTimeout(changeBackground, 7000); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="sliderBox"> <div class="sliderContent"> <div class="container"> <div class="row"> <div class="col-md-8" id="sliderTexts"></div> </div> </div> </div> </div>

为了执行 PHP,它需要在一个注册的文件中,以便由网络服务器通过 PHP 传递。 通常这意味着给它一个.php文件扩展名(而不是.js文件扩展名)。

由于 PHP 默认情况下会声称它输出的任何内容都是 HTML,因此您还需要通过明确说明内容类型来覆盖它:

header("Content-Type: text/javascript");

您可能还想显式生成缓存标头,这样每次页面加载时都不会重新请求 JS。


您还可以考虑将文件拆分并坚持使用传统的 static JavaScript 程序,该程序通过fetch从 JSON 端点获取数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM