Javascript 如何防止表单提交时重定向

Javascript 如何防止表单提交时重定向,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我对一个页面进行AJAX调用时,我得到了一个带有用户参数的表单,该页面随后被提交到一个url,这样我就可以预先为同一个用户创建一个会话 那个人去了那个网站,他在那里看到了他的名字。 我创建了一个id为abc_session的div标签,将id为fm1的表单分配给它,然后提交表单 现在按照要求创建会话,但页面会自动重定向到表单提交到的站点url。我只是不想发生这种情况 有人能提出一些建议……或者一些解决方法吗 AJAX返回的表单如下所示: 按照quentin的建议,尝试提取数据并中断另一个aja

当我对一个页面进行AJAX调用时,我得到了一个带有用户参数的表单,该页面随后被提交到一个url,这样我就可以预先为同一个用户创建一个会话 那个人去了那个网站,他在那里看到了他的名字。 我创建了一个id为abc_session的div标签,将id为fm1的表单分配给它,然后提交表单

现在按照要求创建会话,但页面会自动重定向到表单提交到的站点url。我只是不想发生这种情况

有人能提出一些建议……或者一些解决方法吗

AJAX返回的表单如下所示:

按照quentin的建议,尝试提取数据并中断另一个ajax调用,但阻止了此错误跨源请求:同源策略不允许读取远程资源。这可以通过将资源移动到同一域或启用CORS来解决


您应在提交表单后立即使用e.preventDefault。

您正在提交表单:

document.getElementById("abc_session").innerHTML=data;
document.fm1.submit(); // Here
不要那样做


从中提取数据并发出另一个Ajax请求。

事件处理程序是由就绪事件触发的,而不是由表单提交触发的。阻止默认操作不会做任何事情,因为就绪事件没有默认操作。我的错误。我误解了。查看此链接以获取参考:您能否分享如何从运行时通过ajax检索的表单中提取数据的示例。我提取了数据并使用ajax发布了数据,但它给了我一个错误:跨源请求被阻止:同源策略不允许读取远程资源。这可以通过移动资源到同一域或启用CORS。你知道这里有什么问题吗?
 $(document).ready(function() {

            function callwebsite()
            {
                 $.ajax({
                      url: "/NASApp/benemain/website",
                      data: {},
                      type:"POST",
                      dataType: 'text',
                      cache: false,
                      success: function (data) {

                          alert("Call made to website.. ");

                            console.log(data);
                            document.getElementById("abc_session").innerHTML=data;
                            document.fm1.submit();


                    },
                    error : function(response){
                        console.log('ERROR');
                    },
                    statusCode : {
                        500 : function() {
                            console.log('500 error');
                            window.location.reload(true);
                        },
                        401 : function() {
                            console.log('401 error');
                            window.location.reload(true);
                        },
                        404 : function(){
                            console.log('400 error');
                        }
                    }
                });
            }
            callwebsite();
$.ajax({
                      url: lcAction,
                      data: {partner_id:lcPartner,login_parameters:lcLP },

                      type:"POST",
                      headers:{'Access-Control-Allow-Origin': '*'},
                      dataType: 'text',
                      //crossDomain: true,
                      //cache: false,
                      success: function(data)
                      {
                          alert("success");
                      },
                      error:function(response)
                      {
                          //alert("error");
                          console.log(response);
                      }
                });
document.getElementById("abc_session").innerHTML=data;
document.fm1.submit(); // Here