Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用append jQuery编译Ajax_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 使用append jQuery编译Ajax

Javascript 使用append jQuery编译Ajax,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想附加一个包含PHP代码的span,我知道应该有一种通过AJAX调用脚本的方法 但是我是jQuery的初学者,所以我需要有人帮助解决这个问题 这是我的密码: $(document).ready(function(){ $("#btn2").click(function(){ $("#grid").append("<?php the_sub_field('image');?>"); }); }); 您将无法在那里执行该PHP代码。PHP在服务器上运行,然后发送到浏览

我想附加一个包含PHP代码的span,我知道应该有一种通过AJAX调用脚本的方法

但是我是jQuery的初学者,所以我需要有人帮助解决这个问题

这是我的密码:

$(document).ready(function(){
  $("#btn2").click(function(){
    $("#grid").append("<?php the_sub_field('image');?>");
  });
});

您将无法在那里执行该PHP代码。PHP在服务器上运行,然后发送到浏览器。JavaScript在浏览器上,无法解释PHP。因此,您需要向服务器发送一个AJAX调用

JavaScript $.ajax{ url:'desinition.php', 成功:函数响应{console.log response;} };

PHP:desinion.PHP _sub_字段“image”;

虽然我强烈建议您不要这样做,但您可以创建一个包含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>

您的问题是,您只是在div中添加了一个字符串,结果如下所示:

<div id="grid"><!--?php the_sub_field('image');?--></div>
我只是我自己,这是在单击按钮后检查html时的结果。我猜它甚至被注释掉了,只是为了有人试图做一些非常可疑的事情

为什么??JavaScript是客户端的,PHP是服务器端的,除非告诉PHP代码在服务器上运行,否则PHP代码不会运行

AJAX是当您从客户机与服务器通信时,通常会从服务器得到某种响应。您可以告诉服务器您需要一些数据、图像等,然后将其发送给客户机,客户机可以随意处理数据

看一看实际操作是如何执行的


顺便说一句,如果你认为可以毫无问题地混合使用JavaScript和PHP,那你的日子就不好过了。

首先,你永远不应该混合使用JavaScript和PHP。现在,您只需向div追加一个字符串,假设不会发生任何事情。现在还不清楚您要追加什么。加载页面时是否知道要追加的值?如果是这样,那么当前语法是正确的,因为您只需将该值从PHP代码发送到JavaScript代码中。如果没有,该值将如何计算?它可以在客户端计算,还是需要在服务器端计算?如果是服务器端的,则需要有某种类型的服务器端处理程序页面来执行计算并返回结果。然后使用.ajax或其他等效工具来获取值,但不能这样做。PHP在服务器上运行并转换为html。相反,我认为您想要的是从您的服务器附加一个html响应