javascript - 怎样将一个form提交给多个后台?
黄舟
黄舟 2017-04-11 10:05:04
[JavaScript讨论组]

代码该怎么写,请举例说明

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(8)
高洛峰

大概这样子。。。

//多个提交链接列表
var postList = [{
  url : 'url1',      // 提交地址
  cb  : function(){} //提交该地址成功后的回调
},{
  url : 'url2',
  cb  : function(){}
},{
  url : 'url3',
  cb  : function(){}
}];

//遍历提交链接列表,逐个提交
postList.forEach(function(item){
  $.post(item.url, { name: "John", time: "2pm" },item.cb);
});
天蓬老师

多个ajax不可以吗?

巴扎黑

用js可以实现的啊

大家讲道理

JQ的serialize()方法就是将form表单整个提交的,你可以看一下这个方法

高洛峰

最简单的

<form action="/users/login" method="post"> // action="提交的路由"(这是关键,后台要有处理这个路由的方法)  
    <input type="text" name="username" />       
    <input type="password" name="pwd" />
                  
    <input type="submit" value="登录"/>   //提交按钮,点这个就提交了
</form>

巴扎黑

相当于多个表单同时提交,使用form直接提交时完成不了的,因为没有表单提交完了之后会跳转页面,必然无法同时完成多个表单提交

  • ajax提交

var actions = [url1,url2,url3];
actions.foreach(function(url){
   $.post(url,data,callback);//更多方法见jq手册 
});
  • 如果html中没有form表单实体,可以用formdata对象,说到第还是得用ajax

var oMyForm = new FormData();

oMyForm.append("username", "Groucho");
oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456"
var actions = [url1,url2,url3];
actions.forEach(function(url){
    var oReq = new XMLHttpRequest();
    oReq.open("POST",url );
    oReq.send(oMyForm);
});

详情见https://developer.mozilla.org...

PHP中文网

如果前端一般的话,最简单的方法是做个中间页,然后由中间页比如a.php去传值给c.php d.php

黄舟

一个表单提交给多个后台没意义。

如果是一个系统,完全没必要提及到多个后台。

如果是多个系统,也只需要提交到一个后台就好了,可以再以接口的形式推送到其他几个系统。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号