使用jQuery运行一个php函数


Run a php function using jQuery

这个php函数位于base/home/index.php

function addEmail() {
    $email = htmlentities($_POST['email']);
    if (wp_create_user($email, '7777777', $email)) echo 'OK';
    die();
}

我也有这个jQuery函数位于/home/js/assets.js函数检查邮件是否有效,如果有效,应该运行上面的php函数。

$('#submit_btn').click(function () {
    var entered = $('#ms_id-2 > input#input_fld').val();
    if (isValidEmailAddress(entered) == false) {
        alert('Sorry, the email you entered is invalid. Please try again.');
        //console.log('No Validation!');
    } else {
        alert('Thank you. Your email address has been added to the list.');
    }
});

基本上,如果邮件有效,我需要在index。php中执行那个函数。最快的方法是什么?

创建调用所需逻辑的PHP资源。像下面这样简单的代码就可以达到目的,这取决于您想要它做什么:

<?php
    require('index.php');
    addEmail();
?>

然后向该资源发出AJAX请求:

$.post('theNewPage.php', { 'email' : entered }, function (response) {
    // handle the response in some way
});

关键是JavaScript和PHP不能执行彼此的代码。一个是客户端,一个是服务器端。它们在不同的环境中在不同的时间运行。在这种情况下,它们通过HTTP请求进行通信。

因此,如果您有想要执行的服务器端代码,则创建一个执行该代码的页面,并向该页面发出HTTP请求(在本例中是AJAX请求)以执行该代码。JavaScript代码中回调函数中的response将包含该页的结果(在这种情况下,它似乎是'OK'echo)。您将检查该响应并执行您打算在页面上执行的任何操作。