用js把get请求的形式http://abc.com?a=1&b=2c=3转成post提交

nemo0718 2017-03-29 07:06:34
因为跨域访问问题,不能用jquery呢
比如我有这样一个请求:http://abc.com?a=1&b=2c=3,我用网上搜到的方法改了一下,但后面进行不下去了,求帮忙~~
原来的函数调用是这样的:post('pages/statisticsJsp/excel.action', {html :prnhtml,cm1:'sdsddsd',cm2:'haha'});
我主要不懂的是怎么把a=1&b=2c=3的字符串 弄成那种形式

function post(str) {
arr=str.split("?");
var temp = document.createElement("form");
temp.action = arr[0];
temp.method = "post";
temp.style.display = "none";
for (var x in arr[1]) {
//这里要这么改?
var opt = document.createElement("textarea");
opt.name = x;
opt.value = (arr[1])[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
}
...全文
378 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2017-03-29
  • 打赏
  • 举报
回复

const url='http://abc.com?a=1&b=2c=3';
    const u=new URL(url);
    const path=url.replace(u.search,'');
    const form=document.createElement('form');
    form.action=path;
    form.method='post';
    form.target='_blank';
    for(let [key,value] of u.searchParams.entries()){
        const input=document.createElement('input');
        input.name=key;
        input.value=value;
        form.appendChild(input);
    }
    document.body.appendChild(form);
    form.submit();
这样试试
内容概要:本文围绕无人水面艇(USV)路径跟踪控制问题,重点研究并实现了基于视线(Line-of-Sight, LOS)算法的控制策略仿真。通过Matlab平台搭建仿真环境,详细展示了LOS算法在处理USV沿预定路径航行时的横向偏差抑制与航向调整能力,结合船舶动力学模型实现路径跟踪控制。文中涵盖了控制算法的设计原理、关键参数整定方法及仿真结果分析,能够有效应对海洋环境中常见的外部干扰因素,提升路径跟踪精度与系统稳定性。; 适合人群:具备自动控制理论基础、船舶工程或海洋机器人相关背景,熟悉Matlab/Simulink仿真工具,从事无人艇控制、路径规划与导航系统研究的研发人员及研究生。; 使用场景及目标:① 掌握LOS算法在无人水面艇路径跟踪中的应用机制;② 学习如何结合运动学与动力学模型构建完整的控制系统仿真框架;③ 为后续引入更复杂的环境干扰(如风浪流)、多艇协同控制或与其他先进控制算法(如MPC、滑模控制)融合提供技术基础与仿真原型。; 阅读建议:建议读者结合Matlab代码逐模块分析算法实现流程,重点关注LOS引导律设计、航向控制器集成及仿真结果的动态响应表现,鼓励修改路径形状、调整控制参数以加深理解,并可进一步扩展为三维空间或编队控制场景。

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧