我想附加一个包含PHP代码的span,我知道应该有一种方法可以通过AJAX调用脚本。
但我是jQuery的初学者所以我需要有人帮助解决问题。
这是我的代码:
$(document).ready(function(){
$("#btn2").click(function(){
$("#grid").append("<?php the_sub_field('image');?>");
});
});
答案 0 :(得分:1)
您无法在那里执行该PHP代码。 PHP在服务器上运行,然后发送到浏览器。 JavaScript在浏览器上,无法解释PHP。因此,您需要向服务器发送AJAX调用。
的JavaScript
$.ajax({
url: 'desintation.php',
success: function( response ){ console.log( response ); }
});
PHP:desination.php
the_sub_field('image');
答案 1 :(得分:0)
虽然我强烈建议您不要这样做,但您可以创建一个包含Javascript的PHP脚本,然后输出正确的内容类型标题:
<?php
// jsfile.php
header('Content-type: text/javascript');
?>
$(document).ready(function(){
$("#btn2").click(function(){
$("#grid").append("<?php the_sub_field('image');?>");
});
});
然后使用脚本标记链接到该文件:
<script src='/path/to/jsfile.php'></script>
答案 2 :(得分:0)
你的问题是你只是在div中添加一个字符串,结果如下:
<div id="grid"><!--?php the_sub_field('image');?--></div>
我自己只是tried it out,这是您在点击按钮后检查html时的结果。我想它甚至只是为了某人试图做一些非常可疑的事情而被评论出来。
为什么呢? JavaScript是客户端的,PHP是服务器端的,除非告知PHP代码在服务器上运行,否则PHP代码不会运行。
AJAX是指您从客户端与服务器通信时,通常会从服务器获得某种响应。您可以告诉服务器您需要一些数据,图像等,然后将其发送到客户端,该客户端可以处理数据,但它喜欢。
了解实际AJAX的执行情况。
顺便说一句,如果您认为可以将JavaScript和PHP混合在一起没有问题,那么您将度过一段美好时光。