在ajax成功方法中嵌入Php代码

在ajax成功方法中嵌入Php代码,php,ajax,Php,Ajax,我正在使用jquery-ajax。我可以在success:function(html){}?中使用php代码吗?不,jquery/JavaScript代码是在客户端执行的。您可以编写JavaScript/jQuery代码,也可以用php预处理XHR请求的答案。不可以,因为JavaScript在客户端执行,php在服务器上执行 解决方法是从success函数发送另一个AJAX请求。但它只能在服务器端执行操作,而不能在客户端执行 如果您只想从回调函数下载文件,请使用location.href=url

我正在使用jquery-ajax。我可以在
success:function(html){}

中使用php代码吗?不,jquery/JavaScript代码是在客户端执行的。您可以编写JavaScript/jQuery代码,也可以用php预处理XHR请求的答案。

不可以,因为JavaScript在客户端执行,php在服务器上执行

解决方法是从success函数发送另一个AJAX请求。但它只能在服务器端执行操作,而不能在客户端执行

如果您只想从回调函数下载文件,请使用
location.href=url
。URL可以是服务于数据流的服务器端PHP脚本,也可以是真实文件。

是。
例如,您可以执行以下操作:

success: function(html) {
  <?php echo 'alert("Hello, World!");' ?>
}
成功:函数(html){

由于JS都是客户端,PHP都是服务器端,两者不能在彼此内部同步执行。但是,您可以使用AJAX要求PHP对值执行代码,但是如果您已经对PHP进行了AJAX查询,那么为什么不直接这样做呢。

您间接地使用PHP。无需注意成功与否功能:

$.ajax({
     url: "execute.php",
     success: function(html){}
html
直接来自
execute.php
脚本。这是您执行任何php操作的地方,如:

<?php   echo "<div>" . php_stuff() . "</div>";   ?>


将PHP脚本视为执行的前半部分,将jQuery success:callback视为AJAX调用的第二部分。

技术上回答正确,但没有帮助,因为PHP不会由success函数执行。但另一方面,询问者在问题中没有指定此要求。AJAX可以有一个是的,但这是另一个客户端回调函数,在这种情况下,他可能能够直接在第一个客户端回调函数中执行此操作,而不是嵌套两个ajax请求。好的,我已经准备好使用嵌套ajax调用,它允许我下载PDF吗???@user418232:您是从数据源获取PDF吗流还是从真实文件?如果是真实文件,您可以直接使用JavaScript获取。如果是数据流,请提供服务器端脚本,该脚本使用相应的头转储数据流,然后像从真实文件一样从JavaScript访问数据流。请参阅我的答案编辑。是的,我这样做了
location.href=url
,但它会打开文件在浏览器的新选项卡中我需要一个对话框来保存PDF@user418232:您的问题以前已经得到了回答-请勿转载,尤其是不要偷懒。