如何使用jQuery.ajax将参数传递给类php

如何使用jQuery.ajax将参数传递给类php,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我有下一个php类: class Job{ public $resultado; public $busqueda; public $wpdb; public function __construct($busqueda){ global $wpdb; $this->busqueda = $busqueda; $this->resultado = array(); $this->

我有下一个php类:

class Job{

    public $resultado;
    public $busqueda;
    public $wpdb;

    public function __construct($busqueda){
        global $wpdb;
        $this->busqueda = $busqueda;
        $this->resultado = array();
        $this->wpdb = $wpdb;
    }   

    public function search_job($resultado){
        $tablepost =$this->wpdb->prefix.'posts';
        $query = "SELECT * from $tablepost WHERE post_type = 'jobman_job' and post_status='publish';";



        if (isset($wpdb)) {
            global $wpdb;
            $result = $wpdb->get_results($query);
        }else{
            $result = $this->wpdb->get_results($query);
        }



        print_r($result);
    }

}
我觉得还可以。现在我想用jQuery.ajax调用search_函数 我试着这样做:

(function($){

    $('#searchjob').keypress(function(e){
        var search = $.trim($('#searchjob').val());

        if (e.which == "13") {

            $.ajax({
                beforeSend: function(){
                    //$('#loading').html(<img src="rutagif" alt="loading" />);
                },
                url:"../wp-content/themes/SUP2012/class/job.php",
                data:{method: 'search_job', data:{resultado: 'hola'}},
                type: "POST",
                success: function(data){

                }

            }); 
        };

    });

 })(jQuery);
(函数($){
$('searchjob')。按键(功能(e){
var search=$.trim($('#searchjob').val());
如果(例如,哪个=“13”){
$.ajax({
beforeSend:function(){
//$('#加载').html();
},
url:“../wp content/themes/SUP2012/class/job.php”,
数据:{method:'search_job',数据:{resultado:'hola'},
类型:“POST”,
成功:功能(数据){
}
}); 
};
});
})(jQuery);

url参数响应ok(200 ok),但不返回信息。有什么想法吗?

要在
wordpress
中发出
ajax
请求,您应该在
functions.php

add_action('wp_ajax_nopriv_your_function_name', 'your_function_name');
add_action('wp_ajax_your_function_name', 'your_function_name');
function your_function_name()
{
    // do anything here and echo the result
    $data_from_ajax=$_POST['data_to_send_to_server'];
    die(); // last line 
}
javascript应该是这样的

$('#searchjob').keypress(function(e){
    var your_data = $.trim($(this).val());
    if (e.which == "13") {
        $.ajax({
            type:"POST",
            url: "./wp-admin/admin-ajax.php", // if this file is in a subfolder in your themes folder
            data: {
                action:'your_function_name', // the function name you used in functions.php
                data_to_send_to_server:your_data // retrieve from $_POST in php
            },
            success:function(data){
                // do something with data
            }
        });
    }
});

要在
wordpress
中发出
ajax
请求,您应该在
functions.php

add_action('wp_ajax_nopriv_your_function_name', 'your_function_name');
add_action('wp_ajax_your_function_name', 'your_function_name');
function your_function_name()
{
    // do anything here and echo the result
    $data_from_ajax=$_POST['data_to_send_to_server'];
    die(); // last line 
}
javascript应该是这样的

$('#searchjob').keypress(function(e){
    var your_data = $.trim($(this).val());
    if (e.which == "13") {
        $.ajax({
            type:"POST",
            url: "./wp-admin/admin-ajax.php", // if this file is in a subfolder in your themes folder
            data: {
                action:'your_function_name', // the function name you used in functions.php
                data_to_send_to_server:your_data // retrieve from $_POST in php
            },
            success:function(data){
                // do something with data
            }
        });
    }
});

我通过firebug检查了信息,但是响应是空白的。您刚刚调用了php文件,但是您想指定如何初始化类和调用方法。您是如何初始化类的?在发送之前做了什么?为什么在ajax中定义了这一点call@refhat发送前(jqXHR,设置)函数一个请求前回调函数,可用于在发送jqXHR(在jQuery 1.4.x中,XMLHTTPRequest)对象之前修改该对象。使用此选项设置自定义标题等。jqXHR和设置映射作为参数传递。这是一个Ajax事件。在beforeSend函数中返回false将取消请求。从jQuery 1.5开始,无论请求的类型如何,都将调用beforeSend选项。我通过firebug检查了信息,但响应为空。您刚刚调用了php文件,但希望指定如何初始化类和调用方法。您是如何初始化类的?beforeSend是什么?为什么定义这是ajax内部的问题call@refhatbeforeSend(jqXHR,settings)函数一种请求前回调函数,可用于在发送jqXHR(在jQuery 1.4.x中,XMLHTTPRequest)对象之前修改该对象。使用此选项设置自定义标题等。jqXHR和设置映射作为参数传递。这是一个Ajax事件。在beforeSend函数中返回false将取消请求。从jQuery1.5开始,无论请求的类型如何,都将调用beforeSend选项。我刚刚试用了代码,效果非常好!。我正在使用wordpress和wordpress上的自定义模板!:我刚刚试用了代码,效果很好!。我正在使用wordpress和wordpress上的自定义模板!:D