如何通过直接的http请求绕过ASP表单的表单填充

时间:2018-07-31 14:43:11

标签: javascript c# html asp.net web

我猜想,填写一个ASP表单将最终打包所有填写的数据,并向某个URL发出发布请求以更新数据。我如何绕过表单填充工作,并通过其他外部方法(例如通过发出http请求)传递所需的值。我该如何调查必须通过的内容以及表单的目标URL是什么。

我尝试查看html脚本,但只能知道按下按钮时网络将触发javascript。但是,我对下一步一无所知。

谢谢!

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点:

最简单的解决方案之一是通过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)
    });