javascript - 如何通过直接http请求绕过asp表单的表单填充
问题描述
正如我猜想的那样,填写一个 asp 表单最终会打包所有填写的数据并向某个 url 发出 post 请求以更新数据。我如何绕过表单填写工作并使用其他外部方法传递所需的值,例如通过发出 http 请求。我如何调查必须通过的内容以及表单的目标网址是什么。
我曾尝试查看 html 脚本,但只能知道网络在按下按钮时会触发 javascript。但是,我不知道下一步。
谢谢!!
解决方案
有很多方法可以做到这一点:
最简单的解决方案之一是通过 JQuery 发送 AJAX 请求。
首先,您必须启动您的功能,您可以通过将其绑定到按钮来执行此操作:
<input type="button" value="Text" onclick="mySubmit()" />
或通过将其绑定到您的提交操作:
$(document).ready(() => {
$("form").submit(mySubmit(e));
});
在第二种情况下,您需要传递e
参数来停止默认提交。您可以通过在函数e.preventDefault()
的开头添加来做到这一点。mySubmit(e)
现在,mySubmit()
您可以使用该表单数据做任何您需要的事情。首先你用 jQuery 选择器检索它
var formArray = $("form").serializeArray()
然后你可以对它的数据做任何你需要做的事情。要检索此数组的一个元素,您可以使用find()
函数,例如:
form.find(x=>x.name === "propertyName")
完成所有需要填写的表格后,以这种方式发送 AJAX 请求:
$.ajax({
url: form.attr("action"),
type: form.attr("method"),
data: JSON.stringify(form)
});
推荐阅读
- oracle-bi - Windows 10 上的 Oracle 双向安装
- azure-devops - 在发布管道(Azure DevOps 服务器)中使用 Build.Repository.Uri
- javascript - 浏览器调整大小时如何优化d3js响应条形图中的cpu消耗
- django - 无法从 sqlite 表中手动删除记录,因为带有 __old 的相关表不存在
- r - R按ID比较两列分组
- amazon-web-services - 如何在 intelliJ 中将 AWS 凭证密钥添加到 Hadoop 配置
- kubernetes - 我可以在 google cloude 上为数字海洋上的站点实施 DR 站点吗?
- php - 在 Mac 上为 php5.5.38 安装 Xdebug
- android - Dagger2在活动中注入lateinit var Presenter不起作用
- django - Django注解