全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

angularjs $http实现form表单提交示例

需求:请求第三方后台接口返回一段html字符串如下,由前端去实现form表单的POST提交,

说明:form表单submit()实现自动提交input标签hidden,注意script代码中的document.redirect.submit();

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
  <form name="redirect" action="http://form_process.php" method="POST">
    <input type="hidden" name="aaa" value="aaa_value">
    <input type="hidden" name="bbb" value="bbb_value">
  </form>
  <script type="text/javascript">
    document.redirect.submit();
  </script>
</body>
</html>

为了执行上一段字符串html代码,用到了iframe标签HTML5 的新属性--srcdoc

HTML <iframe> 标签的 srcdoc 属性

<iframe srcdoc="HTML_code">

example:

复制代码 代码如下:
<iframe srcdoc="<p>Hello world!</p><script>alert(123);</script>" src="demo_iframe_srcdoc.htm"></iframe>

问题来了

form表单submit()提交后,不能知道表单提交完成的状态,因为从流程上考虑,需要判断表单提交成功、失败、网络无连接等状态,用submit()提交,获取不了这些状态。

解决步骤如下:

1、通过正则表达式提取表单中的method、action、和input表单的name、value的值,得到

var formData = {
 method: 'POST',
 url: 'http://form_process.php',
 data: {aaa:'aaa_value',bbb:'bbb_value'}
}

2、发送ajax请求

$http({
 method : formData.method,
 url :formData.url,
 data : $httpParamSerializerJQLike(formData.data), // pass in data as strings
 headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload)
 })
 .success(function(data) {
  console.log(data);//返回html字符串
})
.error(function(error) {
  console.log(error);
});

有两个比较关键的地方:

1、$http参数data的值需要用$httpParamSerializerJQLike处理

2、加上headers : { 'Content-Type': 'application/x-www-form-urlencoded' }

如果不做上面两个处理,请求也能成功(状态返回:200),只是不能在成功回调中拿到想要的response结果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angularjs的form提交  # angularjs的表单提交  # angularjs  # form提交  # AngularJS模仿Form表单提交的实现代码  # js实现表单提交后不重新刷新当前页面  # 利用JavaScript阻止表单提交的两种方法  # js的form表单提交url传参数(包含+等特殊字符)的两种解决方法  # JS控制表单提交的方法  # JS实现提交表单前的数字及邮箱校检功能  # 表单  # 来了  # 也能  # 能在  # 不做  # 第三方  # 回调  # 需要用  # 大家多多  # 有两个  # 正则表达式  # 提交后  # text  # charset  # UTF  # content 


相关文章: 建站主机与服务器功能差异如何区分?  个人网站制作流程图片大全,个人网站如何注销?  建站主机解析:虚拟主机配置与服务器选择指南  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  C++如何编写函数模板?(泛型编程入门)  小型网站制作HTML,*游戏网站怎么搭建?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  微课制作网站有哪些,微课网怎么进?  西安专业网站制作公司有哪些,陕西省建行官方网站?  黑客如何通过漏洞一步步攻陷网站服务器?  学校为何禁止电信移动建设网站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  宝塔建站助手安装配置与建站模板使用全流程解析  建站上传速度慢?如何优化加速网站加载效率?  如何在阿里云通过域名搭建网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何快速搭建高效WAP手机网站吸引移动用户?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何通过山东自助建站平台快速注册域名?  简历在线制作网站免费版,如何创建个人简历?  如何在阿里云高效完成企业建站全流程?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  b2c电商网站制作流程,b2c水平综合的电商平台?  如何通过FTP空间快速搭建安全高效网站?  如何选择美橙互联多站合一建站方案?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  北京网站制作公司哪家好一点,北京租房网站有哪些?  ,制作一个手机app网站要多少钱?  建站主机数据库如何配置才能提升网站性能?  Python如何创建带属性的XML节点  如何选择靠谱的建站公司加盟品牌?  MySQL查询结果复制到新表的方法(更新、插入)  如何通过WDCP绑定主域名及创建子域名站点?  如何快速启动建站代理加盟业务?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  详解jQuery中基本的动画方法  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何选择网络建站服务器?高效建站必看指南  如何快速生成橙子建站落地页链接?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  小程序网站制作需要准备什么资料,如何制作小程序?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何用VPS主机快速搭建个人网站?  专业商城网站制作公司有哪些,pi商城官网是哪个?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。