【问题标题】:Pass a parameter to PHP function with AJAX使用 AJAX 将参数传递给 PHP 函数
【发布时间】:2018-06-11 14:41:18
【问题描述】:

我应该使用 JavaScript 调用另一个文件中的 PHP 函数,并且我想在 AJAX 调用中将参数传递给 PHP 函数

这是我的 JS 函数:

    setInterval(function () {
    var url = <?php echo json_encode($con); ?>;
    var valuereq = new XMLHttpRequest();
    valuereq.open("GET", url, true);
    valuereq.send();
    valuereq.status;
    valuereq.onreadystatechange = function () {
        if (valuereq.readyState == 4 && valuereq.status == 200) {
            var return_data = valuereq.responseText;
            document.getElementById("conta").innerHTML = "Eseguito: " + return_data;
        }
        else document.getElementById("conta").innerHTML = valuereq.status;
    }

}, 2000);

这是我在另一个文件中的 PHP 函数:

function conta($mail){
    global $wpdb, $table_name;
    echo $table_name;
   $count = $wpdb->get_var("SELECT contatore FROM $table_name WHERE email = '$mail'");
   if($count!=NULL)
    echo "$count";
   else echo "inactive";
   echo "$wpdb->last_error";
}

// call the function and pass the parameters
conta($mail);

有没有办法使用 AJAX 在 HttpRequest 中传递“$mail”参数? 提前谢谢你。

【问题讨论】:

  • 旁注:您对SQL Injections 持开放态度,在构建查询时应使用$wpdb->prepare()。特别是因为您根本没有逃避用户输入!
  • 非常感谢,我现在就去做。我怎样才能逃避用户输入呢?我应该使用 htmlspecialchars 吗?谢谢你的建议。
  • htmlspecialchars()不是为数据库安全转义用户输入的安全方法。请点击我之前评论中的$wpdb-&gt;prepare() 并阅读有关如何使用它的信息。这样,您无需手动转义数据。
  • 非常感谢,我现在就去学习

标签: javascript php ajax parameters parameter-passing


【解决方案1】:

当你使用 GET 时,你可以像这样传递 url 之后的参数

valuereq.open("GET", url+'?email=emailvalue', true);

【讨论】:

    猜你喜欢
    • 2017-04-14
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2016-04-22
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    相关资源
    最近更新 更多