Jquery 如何将复选框的状态作为变量输入ajax对象

Jquery 如何将复选框的状态作为变量输入ajax对象,jquery,ajax,Jquery,Ajax,我有一个可爱的谷歌地图项目,我正在工作。我需要能够点击某些复选框,并有不同的引脚动态显示。我有ajax调用和数据库部分工作。我只是无法让ajax对象接受变量,甚至无法直接读取checkbox对象。以下是对象: var $myCheckbox=jQuery("#myCheckbox").prop('checked'); var ajaxObj = { //Object to save cluttering the namespace. options: {

我有一个可爱的谷歌地图项目,我正在工作。我需要能够点击某些复选框,并有不同的引脚动态显示。我有ajax调用和数据库部分工作。我只是无法让ajax对象接受变量,甚至无法直接读取checkbox对象。以下是对象:

var $myCheckbox=jQuery("#myCheckbox").prop('checked');

var ajaxObj = { //Object to save cluttering the namespace.
    options: {
        url: pfp_catz_ajax_script.ajaxurl,  //The resource that delivers loc data.
        data: {
            action: 'pfp_catz_ajax',
            searchText: searchText,
            theFunction: 'getLocations',
            myCheckbox:$myCheckbox,            //I can't get anything into the variable
        },
        dataType: "json",   //The type of data to be returned by the server.
        type: 'POST'
    },
    delay: 1000,//(milliseconds) the interval between successive gets.
    errorCount: 0,//running total of ajax errors.
    errorThreshold: 5,//the number of ajax errors beyond which the get cycle should cease.
    ticker: null,//setTimeout reference - allows the get cycle to be cancelled with clearTimeout(ajaxObj.ticker);
    post: function(responseData) { //a function which initiates
        console.log('myCheckbox='+$myCheckbox);
        if(ajaxObj.errorCount < ajaxObj.errorThreshold) {
            ajaxObj.ticker = setTimeout(getMarkerData, ajaxObj.delay);
        }
    },
    fail: function(jqXHR, textStatus, errorThrown) {
        console.log("This is the error: "+errorThrown);
        ajaxObj.errorCount++;
    }
};





//Ajax master routine
function getMarkerData() {
    jQuery.ajax(ajaxObj.options)
        .done(setMarkers) //fires when ajax returns successfully
        .fail(ajaxObj.fail) //fires when an ajax error occurs
        .always(ajaxObj.post); //fires after ajax success or ajax error
}

setMarkers(locs);//Create markers from the initial dataset served with the document.
ajaxObj.post();//Start the get cycle.




//myCheckbox listener event
jQuery("#legend").on('click', '#myCheckbox',function(){
    if(jQuery('#myCheckbox').is(':checked')) {
        alert('myCheckbox checked');
        $myCheckbox=1;
    }
    else {
        alert('myCheckbox unchecked');
        $myCheckbox=0;
    }
});
var$myCheckbox=jQuery(#myCheckbox”).prop('checked');
var ajaxObj={//Object以保存混乱的命名空间。
选项:{
url:pfp_catz_ajax_script.ajaxurl,//传递loc数据的资源。
数据:{
行动:“pfp_catz_ajax”,
searchText:searchText,
函数:“getLocations”,
myCheckbox:$myCheckbox,//我无法在变量中获取任何内容
},
数据类型:“json”,//服务器返回的数据类型。
类型:“POST”
},
延迟:1000,/(毫秒)连续获取之间的间隔。
errorCount:0,//正在运行的ajax错误总数。
errorThreshold:5,//超出此范围,获取周期应停止的ajax错误数。
ticker:null,//setTimeout引用-允许使用clearTimeout(ajaxObj.ticker)取消获取周期;
post:function(responseData){//启动的函数
log('myCheckbox='+$myCheckbox);
if(ajaxObj.errorCount
您能发布这个XHR的请求头吗?我在代码底部添加了Ajax主例程。这有帮助吗?作为参考,这里是我建模我的项目的原始代码:您的变量存储的值在的时候,您需要一个复选框侦听器来更新变量,当changedI尝试这样做时。请参见上面我添加的侦听器。谢谢你帮了一个陌生人。