需求:请求第三方后台接口返回一段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小时内与您取得联系。