jQuery ajax post done/success/delete cookie after

jQuery ajax post done/success/delete cookie after,jquery,ajax,post,cookies,Jquery,Ajax,Post,Cookies,我试图实现一个简单的jQuery ajax帖子,其中包含一个字符串化对象。我通过收集我打算在注册页面上发布的信息,然后使用JSON.stringify并将对象存储在cookie中来实现这一点。成功注册后,对象将发布在下一页的ajax post的数据参数中 到目前为止还不错。成功后,API接收对象并解释数据。但是,当用户导航回包含其用户信息的页面并设置cookie时,post请求会一次又一次地发送,每次他们点击页面时都会再次发送 我想实现这样的目标: if(CMjar.getKeys().inde

我试图实现一个简单的jQuery ajax帖子,其中包含一个字符串化对象。我通过收集我打算在注册页面上发布的信息,然后使用JSON.stringify并将对象存储在cookie中来实现这一点。成功注册后,对象将发布在下一页的ajax post的数据参数中

到目前为止还不错。成功后,API接收对象并解释数据。但是,当用户导航回包含其用户信息的页面并设置cookie时,post请求会一次又一次地发送,每次他们点击页面时都会再次发送

我想实现这样的目标:

if(CMjar.getKeys().indexOf('registerSession') != -1) {  //if cookie exists
    $.ajax({
        url: 'API URL',
        type: 'POST',
        data: stringyObjS,
        dataType: 'json',
    }) // post the request 
        .done(function() {  //once posted
            CMjar.remove('registerSession');  //delete the cookie
        });

    console.log('posted');
};  // if cookie doesn't exist don't do anything 
在控制台中工作时,CMjar.remove函数按预期工作,cookie消失,但是.done没有调用它。有什么想法吗?我应该使用suceess:

我还尝试了以下方法:

$.ajax({
    url: 'API URL',
    type: 'POST',
    data: stringyObjS,
    dataType: 'json',
}); // post the data
CMjar.remove('registerSession'); // delete the cookie
这在删除cookie的意义上起作用,尽管我确实在它应该发送post请求时收到语法错误,但我没有复制它,因为无法逐字引用错误

我走对了吗?我是不是很愚蠢?请帮忙

谢谢,
Myles

全部排序-我一定有语法错误,阻止post请求工作,只是尝试在没有.done函数的情况下删除cookie,它正常工作

对于感兴趣的人,以下是我的解决方案:

**注册页**

$('.marg-bottom .button').click(function() {

                        var postMobEmailOpt;

                            if ($('#usxtsubscribesms').is(':checked')) {
                                postMobEmailOpt = 'I';
                            } else {
                                postMobEmailOpt = 'O';
                            };

                        var obj= {
                            type: 'mergeListMembers',
                            source: 'registrationForm',
                            EMAIL_FORMAT_: 'H',
                            TITLE: $('#title').val(),
                            FIRST_NAME: $('#fname').val(),
                            LAST_NAME: $('#lname').val(),
                            COUNTRY_: $('#cntrylist').val(),
                            POSTAL_CODE_: $('#zipc').val(),
                            HOUSE_NUM: $('#num').val(),
                            POSTAL_STREET_1_: $('#addr1').val(),
                            POSTAL_STREET_2_: $('#addr2').val(),
                            CITY_: $('#city').val(),
                            COUNTY: $('#statetext').val(),
                            MOBILE_NUMBER_: $("input[name='usxusxtmobile']").val(),
                            EMAIL_ADDRESS_: $('#usemail').val(),
                            GENDER: $('#usxusxtgender').val(),
                            DATE_OF_BIRTH: $('#usxusxtbirthdate').val() + '-' +     $('#usxusxtbirthmonth').val() + '-' + $('#usxusxtbirthyear').val(),
                            POSTAL_PERMISSION_STATUS_: postMobEmailOpt,
                            MOBILE_PERMISSION_STATUS_: postMobEmailOpt,
                            EMAIL_PERMISSION_STATUS_: postMobEmailOpt
                        }

                        var CMjar = new CookieJar( {expires: '', path: '/'} );

                            CMjar.put('registerSession', JSON.stringify(obj));

                    });

                })
**注册后导航到的帐户页**

jQuery( document ).ready(function( $ ) {

    var CMjar = new CookieJar( {expires: '', path: '/'} ),
        stringyObj = CMjar.get('registerSession'),
        stringyObjS = $.parseJSON(stringyObj);

if(CMjar.getKeys().indexOf('registerSession') != -1) {
    $.ajax({
        url: 'URL',
        type: 'POST',
        data: stringyObjS,
        dataType: 'json',
    });
            CMjar.remove('registerSession');

};

});