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