js不通过设置动态行动提交表格

时间:2017-09-07 11:30:42

标签: javascript php jquery ajax .htaccess

使用wordpress,有页面模板,有一个调用代金券代码并动态设置动作的ajax调用,并提交表单以兑换代金券,

$.ajax({ 
                    type: 'POST', 
                    url: ajaxurl, 
                    data: action_data, 
                    dataType: 'json',
                    success: function (response) { 
                        $(".loading").hide();
                        btn.prop('disabled',false);
                        btn.removeAttr("disabled");

                        if(response.status==1){
                            $(".response").html(response.message);
                            $(".response").show().delay(2000).hide(0);
                            var redirectUrl = "<?php echo get_bloginfo('url'); ?>/"+response.redirect_link+"/";
                            alert(redirectUrl);

                            form.attr('action',redirectUrl);


                        }else{
                            $("#voucher_code").addClass("error-fld");
                            $(".response").html(response.message);
                            $(".response").show().delay(3000).hide(0);
                            //return true;
                        }
                    }
                });

此外,我在我的htaccess中规定所有网址最后都应附加“/”,否则会将其重定向到引荐网址,

RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteCond %{REQUEST_URI} !wp-json/contact-form-7/v1/contact-forms/1404/feedback
RewriteCond %{REQUEST_URI} !wp-json/contact-form-7/v1/contact-forms/1740/feedback
RewriteCond %{REQUEST_URI} !wp-json/contact-form-7/v1/contact-forms
RewriteRule ^(.*)$ https://example.com/$1/ [L,R=301]

问题如果我在标签中硬编码动作它工作正常,但通过设置jquery不提交。我也检查了ajax中的响应也警告重定向链接还有“/”也在最后,并在网络选项卡中,但它通过jquery重定向到动态网址,但在网络选项卡中显示302错误,抱歉我的英文不好,打开回答任何问题,任何想法的家伙?

1 个答案:

答案 0 :(得分:0)

我可能会遗漏一些东西,但看起来你只是在改变&#34;动作&#34;表单上的属性,但您没有重新提交表单。尝试类似:

...    
form.attr('action',redirectUrl);
form.submit();
...