在某些PHP条件之后发送AJAX调用

时间:2017-11-03 14:35:03

标签: javascript php jquery ajax

我有PHP条件

if (isset($person->image) && $person->name == 'Sam')
{
  // Javascript logic 
}

如果这个PHP条件匹配,我想调用一个AJAX请求并获取数据。我想将从AJAX调用获得的数据保存到数据库中。

我不知道该怎么做,以及如何将这个PHP条件与Javascript AJAX请求联系起来。

请指导我。

3 个答案:

答案 0 :(得分:2)

将PHP条件放在放置Javascript并回显/打印javascript的位置。

<?php
    if (isset($person->image) && $person->name == 'Sam'){
        // Javascript logic
        echo "<script>do.ajax.now('responceToAjax.php')</script>";
    }
?>

OR

在现有脚本块中

,使用doAjax = true之类的标记,然后调用您的ajax if (doAjax == true) { do.ajax.now() }

现在在您的AJAX调用的PHP页面中

<?php
    // get the $_POST/$_GET values
    // connect to db and insert stuff
    // return a response if you wish
    echo 'we did it!'
?>

答案 1 :(得分:0)

if (isset($person->image) && $person->name == 'Sam'): ?>
<script>
$.ajax({
  type: "POST",
  url: "ajax-url.php",
  data: {
    personImage: "<?= $person->image ?>",
    personName: "<?= $person->name ?>"
  }
});
</script>
<?php endif; ?>

在ajax-url.php下你有保存这些数据的脚本。但我不知道你为什么要这样做。您可以使用相同的PHP脚本保存数据。

答案 2 :(得分:0)

你可以这样做:

<?php
if (isset($person->image) && $person->name == 'Sam')
{
?>
// Js code for ajax call
$.ajax({
    type: <type>,
    url: <url>,
    data: <data>,
    beforeSend: function () {
    },
    success: function (response) {
    }
});
<?php
}
?>