函数运行但从未使用.done()调用

时间:2017-01-12 00:13:56

标签: javascript jquery

我们意外忘记在sendmail函数下执行ajax_Sendmail()。但是这个功能没有被调用就被激发了。似乎是ajaxSendMail自行运行的原因 我们的流程:  1.用户在表单上键入其详细信息  2.表格对某些输入有效。  3.如果一切顺利发送邮件。  4.完成。

 $(document).ready(function(){
        original_url_checker();
        create_site();
    });         

    //this will check if the template can build from your original url
    function original_url_checker(){
        var can_build = $("#can_build").val();  

            if(can_build == 'false'){
                /*$('#original_url').hide();*/
                $('#original_url').prop('disabled',true)
            }
            else{
                /*$('#original_url').show();*/
                $('#original_url').prop('disabled',false)
            }
    }//original checker

    //main function that will create site / sub account 
    function create_site(){
        $('#btn-create').click(function(e){
            e.preventDefault();
            var ajax1 = ajax_Create();
            ajax1.done(sendMail).fail(failOption).always(alwaysOption);
            var template_id = $("#template_id").val();
            var original_url = $("#original_url").val();
            var email = $("#email").val();
            var first_name = $("#first_name").val();
            var last_name = $("#last_name").val();
            $('#inputHere').html('<ul><li>'+first_name+'</li><li>'+last_name+'</li><li>'+template_id+'</li><li>'+original_url+'</li><li>'+email+'</li></ul>');
            $(this).html('Creating Site');                  
    });
    }//create site
    function sendMail(data) {
        var dataa = JSON.parse(data);
        $('#btn-create').html('Sending Email');
        var c_email = dataa.ac;
        var c_fname = dataa.fn;
        var r_url = dataa.ru;
        var sso_link = dataa.sso;
        $('#btn-email').show();
        $('#ssoLink').html('<li><a href='+sso_link+'>SSO Link</a></li><li><a href='+r_url+'>Reset URL</a></li>');
    }   
    function ajax_Create(){
        return $.ajax({
        url:'create-site-con.php',
        method:'POST',
            data:"template_id="+template_id+"&original_url="+original_url+"&email="+email+"&first_name="+first_name+"&last_name="+last_name
            });
    }//ajax Create
    function ajax_Sendmail(){
        $.ajax({
                type: 'POST',
                url: 'sendmail.php',
data:'first_name='+c_fname+'&reset_url='+r_url+'&email='+c_email+'&sso_link='+sso_link,
        success:function(response){
            var dataa = JSON.parse(response);
            var sso = dataa.sso;
            var status = dataa.f;
            if(status == "failed"){
                console.log('Failed');
                }
            else {
                 $('#btn-create').attr('disabled','disabled');
                $('#btn-create').html('Message Sent');
                console.log('Message Sent!');
                $('#ssoLink').html('<li><a href='+sso+'>SSO Link</a></li><li>'+status+'</li>');
                window.location.replace(sso,3000);  
                    }
                      }//success
                     });//ajax2
    }//ajax Sendmail

    function failOption(){
        console.log('Ajax Connection Failed');
        var btn = $('#btn-create');
        btn.html('Reload');
        btn.prop('disabled',false);
    }//fail 

    function alwaysOption(){
       console.log('I will do this no matter what');
    }//always                  

0 个答案:

没有答案