Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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 Php将内容回送到div中_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript Php将内容回送到div中

Javascript Php将内容回送到div中,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我正在尝试将用php生成的html和javascript插入页面中的一个div中 a、 php文件: function get_preset() { return (bunch of html, javascript); } b、 php: <div id="preset_preview"> //<?php echo get_preset(); ?> //this works well, but I need to execute this every

我正在尝试将用php生成的html和javascript插入页面中的一个div中

a、 php文件:

function get_preset() {
    return (bunch of html, javascript);
}
b、 php:

<div id="preset_preview">
    //<?php echo get_preset(); ?> //this works well, but I need to execute this every time I click a button in jquery.
</div>

////这很好,但每次单击jquery中的按钮时,我都需要执行它。
我可以使用ajax成功地在jquery和a.php之间进行通信,但是如何将php中get_preview函数调用返回的内容放入preset_preview div中呢

有没有一种方法可以做到这一点,而不必使用ajax将数据从get\u preview函数调用发送到jquery,然后使用jquery将其放入preset\u preview div

php每次接到jquery这样的请求时都能单独完成吗

因此,我使用jquery ajax调用php来执行以下操作:

<div id="preset_preview">
    <?php echo get_preset(); ?>
</div>

让我感到困惑的是,php可以成功地完成它(如上面的示例所示),而无需首先使用ajax将数据发送到jquery。

a.php文件

function get_preset() {
    return (bunch of html, javascript);
}

echo get_preset();
function get_preset() {
    return (bunch of html, javascript);
}

echo get_preset();
b、 php文件

<button type="button" id="preview">Preview Preset</button>
<div id="preset_preview">
    <?php include "a.php"; ?>
</div>

<script>
    $('#preview').on('click', function(e) {
        e.preventDefault();
        $("#preset_preview").load('a.php');
    });
</script>
php只是
echo
ing
get\u preset()

b、 php


它只是告诉您应该在b.php页面准备好后立即加载a.php,并在单击按钮后“重新加载”它。

听起来您需要了解客户端脚本和服务器端脚本之间的区别,以回答您提出的任何问题。您可以将a.php文件包含在b.php文件中,然后调用
get\u preset()
在您的b.php文件中,当您需要数据时,请调用b.php,尝试解释使用此代码实际需要做什么。例如,JS和HTML会做什么。这样我们可以提供更多的帮助。是的,获取预设回声字符串。因此,在调用load('a.php')之前,a.php的内容在b.php中是不可见的?实际上不是,因为
。但是,您可以通过监听page load或使用
$(document).ready()
执行类似的方法,这意味着您应该编写
load()
方法两次。但我只需要在请求中包含一个.php(或者只包含get\u预置函数调用的字符串内容),与上面的示例不同。不确定上面的加载点是什么,因为a.php立即包含在内。这正是我的问题,但我不知道如何执行它。但我只需要在我的请求中包含一个.php——点击事件?当然,删除
或使用可识别的选择器将元素设为空白即可。a.php应该满足b.php的任何需要。这就是为什么我在a.php中做了一个
echo
。如果您仍然希望b.php处理该请求,我将使用一些解决方法更新我的帖子。
<button type="button" id="preview">Preview Preset</button>
<div id="preset_preview"></div>

<script>
    $('#preview').on('click', function(e) {
        e.preventDefault();
        $("#preset_preview").load('a.php');
    });
</script>
<script>
    $(document).ready(function() {
        $('#preset_preview').load('a.php');
    });

    $('#preview').on('click', function(e) {
        e.preventDefault();
        $("#preset_preview").load('a.php');
    });
</script>