Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery post请求,带正文和重定向页对页刷新_Javascript_Jquery_Node.js - Fatal编程技术网

Javascript Jquery post请求,带正文和重定向页对页刷新

Javascript Jquery post请求,带正文和重定向页对页刷新,javascript,jquery,node.js,Javascript,Jquery,Node.js,我在我的网站中有一个情况,在我的一个网页中,我必须在重新加载时重定向页面。我结合了我在网上找到的各种解决方案,得出了以下结论: $(window).on('beforeunload', function(){ function redirectPost(url, data,name) { var form = document.createElement('form'); document.body.appendChild(form);

我在我的网站中有一个情况,在我的一个网页中,我必须在重新加载时重定向页面。我结合了我在网上找到的各种解决方案,得出了以下结论:

 $(window).on('beforeunload', function(){
     function redirectPost(url, data,name) {

         var form = document.createElement('form');
         document.body.appendChild(form);
         form.method = 'post';
         form.action = url;
         var input = document.createElement('input');
         input.type = 'hidden';
         input.name = name;
         input.value = data;
         form.appendChild(input);  
         form.submit();
     }

   redirectPost("/incompleteOrder",$("#orderNumber").val(),"orderNumber")

});
这段代码应该模拟在页面重新加载期间使用表单发送post请求。在我的后端Nodejs代码中,我有一个post url,它基本上执行一些数据库输入,并重定向到get url,以呈现单击刷新的同一页面


但是,对
/incompleteOrder
的post请求甚至不会在我的后端触发。

当页面试图卸载时,为什么要尝试构建表单,而不是通过.ajax或fetch发送表单?您从未提交表单。然而,我不认为您可以在卸载事件处理程序之前在
中执行此操作。更详细地解释您的用例对不起,我忘了添加表单提交。我更新了我的问题。该页面包含一个表单,其中包含一组从ulr查询字符串获取值的输入字段。查询字符串是在后端构建的,因此当您通过构建我的查询字符串的post路由到达页面,然后到达用于呈现的get路由时,所有部分都在那里。如果重新加载页面,查询字符串不会生成,因为您没有按顺序触发路由,这确实很难解释。但是我只是想用jquery的一些方法,基本上就像有人在表单中单击了一个post按钮,然后重定向并完全忽略了刷新按钮。当页面试图卸载时,你为什么要构建表单,而不是仅仅通过.ajax或fetch发送表单?你从来没有提交表单。然而,我不认为您可以在卸载事件处理程序之前在
中执行此操作。更详细地解释您的用例对不起,我忘了添加表单提交。我更新了我的问题。该页面包含一个表单,其中包含一组从ulr查询字符串获取值的输入字段。查询字符串是在后端构建的,因此当您通过构建我的查询字符串的post路由到达页面,然后到达用于呈现的get路由时,所有部分都在那里。如果重新加载页面,查询字符串不会生成,因为您没有按顺序触发路由,这确实很难解释。但我只想用jquery的某种方式,基本上就像有人单击表单中的一个post按钮,然后重定向并完全忽略刷新按钮一样