我正在尝试构建一个通过" post"发送数据的代码。使用此代码将它们添加到Woocommerce的采购订单数据中..
jQuery('.single_add_to_cart_button').click(function(){
jQuery.ajax({
data: sendJsonA, //This is the info to send
url:ajaxurl,
type:'POST',
dataType:'json',
beforeSend: function(){
console.log('Sending')//Muestra el objeto enviado
},
success: function(response){
console.log('Success ) //Muestra e
}
})
.done(function( data, textStatus, jqXHR ) {
if ( console && console.log ) {
console.log( "La solicitud se ha completado correctamente.");
return
})
.fail(function( jqXHR, textStatus, errorThrown ) {
if ( console && console.log ) {
console.log( "La solicitud a fallado 2: " + textStatus+"----------------");
return
});
return
})

这会收到数据
add_action('wp_ajax_ele_inSelectionGrid', 'ele_inSelectionGrid');
function ele_inSelectionGrid()
{
session_start();
$customData =$_POST['data'];
$_SESSION['data'] =$customData;
unset($_POST['data']);
die();
return;
};

这部分代码运行良好,但每次执行成功消息时,页面都会被加载,并且不会前进到购物车页面,直到chrome按钮被指定为"中断加载此页面" ;并再次点击购买并转到购物车页面,信息发送正确..我是新编程所以我感谢任何其他评论,非常感谢
我当时认为问题与点击购买按钮的事件有关,因为我的ajax脚本是通过点击该按钮执行的,除了同一按钮的购买事件之外,还会生成两个http请求同时点击相同的事件,但我不知道如何让我的脚本在ajax完成数据发送后继续正常加载页面
答案 0 :(得分:0)
不是使用done
和fail
方法,而是在每次请求后使用completed
和error
ajax闭包。
jQuery.ajax({
data: sendJsonA, //This is the info to send
url:ajaxurl,
type:'POST',
dataType:'json',
beforeSend: function(){
console.log('Sending')//Muestra el objeto enviado
},
success: function(response){
console.log('Success') //Muestra e
},
completed:function (data, textStatus){
if ( console && console.log ) {
console.log( "La solicitud se ha completado correctamente.");
}
},
error:function (){
console.log('Could not connect');
}
})