PHP里面的js ajax功能有困难

时间:2014-10-29 18:35:53

标签: javascript php

我有按钮让我们这样说:

<button id= $id  onClick="popup($id)">button</button> 

现在我正在尝试将它与ajax函数一起使用

<script>
function popup(id){
alert(" ");
document.write(" ");
}
</script>

我想做的就是让这个js函数执行php代码。 我认为将其置于document.write的警报状态会很好,但是这段代码看起来像下面这样,我的报价和一切都有很大的问题。我不知道如何让一切顺利。 有人可以帮我搭配吗?

echo "<div id='element_to_pop_up'> 
<a class='b-close'>zamknij</a>";
$messages = mysql_query('SELECT * FROM msg WHERE id = "'.$messageid.'" ');
$fetchmessage = mysql_fetch_assoc($messages);
echo $fetchmessage['message'];
 echo "</div>";

3 个答案:

答案 0 :(得分:3)

PHP在服务器端处理。所以你不能运行PHP代码客户端。

我要做的是(这里用jQuery完成,你可以用其他框架完成)来设置data-id =&#34;&#34;您的按钮上的属性,其ID来自PHP。然后当您单击该按钮时,您可以通过AJAX调用PHP脚本来执行某些操作。像:

<强> HTML:

<button class="clickme" data-id="<?=$row['id'];?>">button</button>

<强>的jQuery

$('.clickme').click(function(){
    $.post( "test.php", { msgId: $(this).data('id') }).done(function( data ) {
        alert("Data loaded: " + data);
    });
});

答案 1 :(得分:0)

你需要这样的东西:

<强> HTML

<button class="clickButton" data-id="<?php echo $id; ?>" id=""<?php echo $id; ?>">button</button> 

的jQuery

$(function() {
    $('.clickButton').click(function() {
        var id = $(this).data('id');
        $.ajax({
            type: "POST",
            url: "ajax.php",
            data: {id: id}
            success: function(data) {
                alert(data);
            }
        });
    });
});

ajax.php

//Set up a mysqli connection here
echo "<div id='element_to_pop_up'><a class='b-close'>zamknij</a>";
$result = mysqli_query($link, "SELECT * FROM msg WHERE id = '" . mysqli_real_escape_string($link, $_POST["id"]) . "'");
$fetchmessage = mysqli_fetch_assoc($result);
echo $fetchmessage['message'];
echo "</div>";
  • 避免使用mysql注入

  • 使用mysqli或PDO代替mysql函数,因为不推荐使用mysql函数。

答案 2 :(得分:-1)

PHP在服务器上运行。 JS在浏览器中运行。你不会直接从另一个中运行一个。

您可以在服务器上运行PHP,该服务器回显将在浏览器中作为JS运行的字符串。

您可以运行使用AJAX的JS回调服务器以在服务器上运行PHP。

您无法在浏览器中运行PHP。

您无法在服务器上运行浏览器JS(出于本讨论的目的,忽略了所有方法)。