如何知道ajax在jquery中是否完整?

时间:2016-09-06 05:41:17

标签: javascript php jquery ajax wordpress

Wordpress中的联系表单7生成了一个表单。 我想知道这是否是在提交和返回消息(成功与否)之后从联系表单获取输出消息的正确编码方式。这段代码可以工作,但它会发送ajax表单。

ajaxArgs = {
   url: 'http://sample.net/',
        success: function () {
            var a= $(".wpcf7-response-output").html();
          console.log(a);
        }
    };
$(".wpcf7-form").bind('submit', function() {
  jQuery.ajax(ajaxArgs);
});

如果您从联系表单7提交表单,它以ajax方式工作,我想在完成ajax后收到错误或成功消息。如果这个问题足够好,我需要你的建议,或者如果你有一个能让它更好用的代码,那就请你。

4 个答案:

答案 0 :(得分:2)

使用成功和错误功能

$.ajax({                    
    type: "POST",  
    url: "example.php",
    success: function(){  
       //do some stuff here 
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
        alert("Status: " + textStatus); alert("Error: " + errorThrown); 
    }       
}); 

答案 1 :(得分:2)

$.ajax({
    type : "POST",
    url : "${pageContext.request.contextPath}/yourUrl",
    data : {
        key1 : "value1" ,
        key2 : "value2"
    },
    async : true, // if you want wait until ajax done, you should set "async" false
    complete : function(){
        console.log("[JQUERY AJAX COMPLETE]");
    }
    success : function(){
        console.log("success");
    }, 
    error : function () {
        console.log("fail");
    }
});

你可以在“完整”

知道ajax完成

答案 2 :(得分:1)

  

此代码有效,但它会发送ajax表单。

我无法完全理解你想说的话。但是,如果您只想提交表单,只需在绑定时使用preventDefault

$(".wpcf7-form").bind('submit', function(e) {
    e.preventDefault();
    jQuery.ajax(ajaxArgs);
});

如果这不是您所需要的,请更清楚地解释一下这个问题。

更新:假设您在同一页面上,即sample.net不是第三方网址

$(document).ajaxComplete(function() {
    var a= $(".wpcf7-response-output").html();
    console.log(a);
});

答案 3 :(得分:0)

您可以像这样使用:

$(document).ajaxComplete(function() {
  $(".success").append("Complete");
});