在ajax成功方法中嵌入Php代码
我正在使用jquery-ajax。我可以在在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
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:您的问题以前已经得到了回答-请勿转载,尤其是不要偷懒。