javascript - 在 WordPress 网站上提交 POST 数据而不刷新?

标签 javascript php jquery ajax wordpress

我在互联网上搜索了很多问题的答案,但没有找到我想要的答案。因此,据我所知,完成此操作的标准方法是使用 jQuery 的提交和 AJAX 发送数据并重定向到另一个 PHP 页面。但是,我对此有很多问题。首先,AJAX。据我所知,常规 AJAX 无法在 WordPress 网站上运行。如何让普通的常规 AJAX 正常工作?我还没有看到任何一个针对傻瓜的简单英语教程。其次,PHP 重定向。我只是希望它发送到页面上已有的 PHP。我只想将数据从我的 Javascript 传输到页面上已经存在的 PHP 中。我不需要重定向。所以,我的最后一个问题是,可以解决这两个问题,以便以传统方式进行吗?或者有没有更好的方法来规避这些问题?我是一个完全的初学者,顺便说一句,我做网络编程还不到五个月。所以,如果可以的话,请使用傻瓜或完全白痴的语言。这是我提交的表单:

<form method="post">
Search By File Name: <input type="text" name="searchterms" placeholder="search"></input>
<button type="submit" name="SearchSubmit">Display Results</button>
</form>

这是我要执行的 PHP:

$submit=$_POST['SearchSubmit'];
$results=$_POST['searchterms'];
if(isset($submit))
{
//whole bunch of stuff, like sql queries and file generation
}

最佳答案

共有3部分代码,

要显示数据的 HTML。

 <div id="msg_alert"></div>

用于 ajax 的 Jquery;

    $('#msg_form').submit(function (event) {
    event.preventDefault();
    action = 'messaging_post';
    user_id = $('#msg_form #user_id').val(); 
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: ajax_auth_object.ajaxurl,
        data: {
            'action': action,
            'user_id': user_id
        },
        success: function (data) { //alert(data.message);
            if (data.log== true) {
                $('#msg_alert').val(data.message);
            }
            else {
            $('#msg_alert').val('There is an error');
                }
        }
    });

}); 

第三个是 PHP:

add_action('init', 'ajax_review_loading');
function ajax_review_loading() {    
    wp_localize_script( 'ajax-auth-script', 'ajax_auth_object', array( 
    'ajaxurl' => admin_url( 'admin-ajax.php' ),
    'redirecturl' => home_url(),
    'loadingmessage' => __('Sending user info, please wait...')
    ));
    add_action( 'wp_ajax_messaging_post', 'messaging_post' );
}   
function messaging_post(){
    /// Your work here.
    echo json_encode(array('log'=>true, 'message'=> $htm));
    die();
}

关于javascript - 在 WordPress 网站上提交 POST 数据而不刷新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993753/

相关文章:

javascript - 如何正确检查是否所有表单元素都填充了 JavaScript

PHP包: problems with data types and verification of my results

javascript - 为什么我的更改复选框不适用于 js 文件,但适用于控制台?

JavaScript 无效或意外的标记 - 对于长文本

php - S3 PUT 命令的 header 问题

javascript - radio 更改时重新计算每行的每个总和

javascript - Firebase云函数生成推送ID

javascript - 我应该如何使 JS 变量等于 MongoDB 字段?

每个循环中的 jQuery this

javascript - 如何在Js中模拟DOM对象?