onClick echo PHP代码到div(AJAX)

时间:2016-08-22 15:56:39

标签: javascript php jquery html ajax

所以我想做的是以下几点:

首先:当点击按钮add-location时,这将使用AJAX加载一个php文件。

的jQuery

$('.add-location').click(function() {
        var locationName = $(this).data('location');
            $.post('http://www.example.com/reload-location-2.php?addparam',
            {locationName: locationName}, function(data) {
                $("textarea#location").html(data);
        })
    });

PHP文件

<?php start_session();
$locationName = array_key_exists('locationName', 
$_POST) ? (string) $_POST['locationName'] : '';

   if(isset($_GET['delparam'])){
       unset($_SESSION['locations'][$locationName]);
   }

   if(isset($_GET['addparam'])){
    $_SESSION['locations'][$locationName] = $locationName;
   }
?>

<?php foreach ($_SESSION['locations'] as $location): ?>
<?php echo htmlspecialchars($location); echo "\n"; ?>
<?php endforeach;?>

这一切都像魅力!不用担心。不,我尝试做的是,当点击按钮add-location时,echo's将以下代码发送到名为div的{​​{1}}。

textarea#thema

或者,如果加载页面时更容易 - >&gt;将该代码回显给<?php foreach ($_SESSION['products'] as $product): ?> <?php echo htmlspecialchars($product); echo "\n"; ?> <?php endforeach;?> div。

我不太了解AJAX,但我已经到了那里。但我认为最后一种选择可能是最简单的解决方案吗?

有人能帮我解决这个问题吗?

我尝试了什么

现在,当单击按钮textarea#thema时,我重新加载以前的jQuery脚本:

add-location

这样做有效,但它会添加一个额外的$('.add-location').click(function() { var productName = $(this).data('product'); $.post('http://example.com/reload-2.php?addparam', {productName: productName}, function(data) { $("textarea#thema").html(data); }) }); - 标记,让我在代码中留下换行符。

我还为textareas将<p>更改为.html(data);。我还用这段代码创建了一个新的PHP文件:

.val(data);

这个jQuery代码:

<?php foreach ($_SESSION['products'] as $product): ?>
    <?php echo htmlspecialchars($product); echo "\n"; ?>
<?php endforeach;?>

但仍然没有......而且我不认为这是要走的路?我希望我提供了足够的信息。

1 个答案:

答案 0 :(得分:2)

您应该使用.html()函数填充textarea,而不是deleteSelectedItems