如何利用Javascript发送GET/POST请求「建议收藏」

如何利用Javascript发送GET/POST请求「建议收藏」如何利用Javascript发送GET/POST请求最近在做基于TWS的分析系统,因为采用Flask+Java的技术架构方案,所以需要开发Web,然而我自己没有做过类似的开发,所以很多工作是从头开始学着做的。因此,在实现表单数据提交的时候,当时就想到个问题,如果一个页面里内容足够多的话,仅用form提交的话,后台就需要做非常复杂的判断,以此确认用户提交的是哪类数据,这样工程不仅难看,而且低效。于是咨

大家好,又见面了,我是你们的朋友全栈君。

基于JQuery的GET/POST数据提交方式

如果初学Javascript,对于JQuery可能会跟我一样完全不清楚,所以适当的普及一下JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。JQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。

它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。JQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

JQuery的官网地址,可以点击访问。根据官方给出的版本,目前最新的已经到了v3.2.1,因此建议可以考虑去官网下载最新的JQuery,以次获得更多的特性。

JQuery很强大,但实现当前这个功能需要的仅仅是简单的两个,API,完整的API说明文档可以点击查看,此外,在runnoob.com上也有关于Javascript的学习资料。

$.get(url, data, callback)

参数 描述
url 必需,规定您需要请求的URL
data 可选,规定连同请求发送到服务器的数据,格式是json
callback 可选,回掉函数,当请求成功时运行的函数

$.post(url, data, callback)

参数 描述
url 必需,规定您需要请求的URL
data 可选,规定连同请求发送到服务器的数据,格式是json
callback 可选,回掉函数,当请求成功时运行的函数

使用方法是这样的,首先,在需要调用JQuery的页面里,用script标签导入Jquery文件,例如:

	<script src="static/js/jquery-3.2.1.min.js"></script>

然后,网页空白的地方,申明你的方法以及需要传递的参数,你可以这样做:

	<script>
		function doPost(url)
		{
			var val1 = document.getElementsByName("key1").value;
			var val2 = document.getElementsByName("key2").value;

			$.post(url, {'key1':val1, 'key2':val2});
		}
	</script>

接着,在你的input/button标签或者需要发送数据的地方,增加一个onclick的属性,例如:

	...
	<input type="button" value="submit" onclick="doPost('/')" />
	...

这样就可以使用JQuery发送数据了。

另外一种方法,是构造一个form,利用form来进行提交。

使用Javascript/form提交GET/POST数据提交方式

/*
* @url: url link
* @action: "get", "post"
* @json: {'key1':'value2', 'key2':'value2'} 
*/
function doFormRequest(url, action, json)
{
    var form = document.createElement("form");
    form.action = url;
    form.method = action;

    // append input attribute and valus
    for (var key in json)
    {
        if (json.hasOwnProperty(key))
        {
            var val = json[key];
            input = document.createElement("input");
            input.type = "hidden";
            input.name = key;
            input.value = val;

            // append key-value to form
            form.appendChild(input)
        }
    }

    // send post request
    document.body.appendChild(form);
    form.submit();

    // remove form from document
    document.body.removeChild(form);
}

调用方法很简单,把这个代码块copy到你自己的HTML文档里的script标签内,然后就可以直接用了,选择GET/POST方法根据你自己的需要就行。
具体在使用过程中有什么区别,得你自己慢慢体会了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145164.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker(8)Dockerfile指令介绍「建议收藏」

    docker(8)Dockerfile指令介绍「建议收藏」前言Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile简介Dockerfile是用来构建Docker镜像的构建文件,是由一系列

    2022年7月30日
  • 单片机八路抢答器计设计_基于单片机的三路抢答器设计

    单片机八路抢答器计设计_基于单片机的三路抢答器设计详细代码讨论加我QQ:1271370903一、设计任务与要求一、题目:8路比赛抢答器二、基本要求:利用8051单片机中断系统,制作一个有8个按键的比赛抢答器。在有人按键时进行对应选手显示。三、设计任务:1.设计硬件电路,画出电路原理图;2.画出程序流程图;3.编制程序,写出源程序代码;4.写出5000字的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件;5.个人总结。四、参考资料:1.教材;2.单片机实验指导书》**二、方案设计**方案:该系

    2022年10月20日
  • 微信小程序:微信登陆(ThinkPHP作后台)

    微信小程序:微信登陆(ThinkPHP作后台)

    2021年10月14日
  • qpython3安装pygame_详解Python pygame安装过程笔记

    qpython3安装pygame_详解Python pygame安装过程笔记今天看到一个教程,是关于Python安装pygame模块的。觉得很好,拿来分享一下。安装Python额,这个小题貌似在这里很是多余啊。但是为了照顾到刚刚学习Python的童鞋,我还是多啰嗦两句吧。具体如下:我们要到Python官网。去下载我们需要的版本。我这里下载的是windows64位的Python2.7msi。安装的过程如果不懂,选择为默认即可。安装easy_install至于这是个什么东…

    2022年5月23日
  • base64编码图片 生成图片,返回地址[通俗易懂]

    base64编码图片 生成图片,返回地址[通俗易懂]publicfunctiontestPic() { $image=”data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAXFCAYAAABw+mVzAAAgAElEQVR4Xuzdd7w8VX3/8ZnZ3Xu/jW9DkCJWlGJNUFFRESyUYEElxh79qT9bYorRnyaxxKixJGpiSWwoisaCYkNUl

    2022年7月13日
  • 未来最有市场发展前景的十大通信技术企业_各行业发展前景

    未来最有市场发展前景的十大通信技术企业_各行业发展前景未来最有市场发展前景的十大通信技术2003-03-2410:39/(通讯世界)  通信技术的发展已经脱离纯技术驱动的模式,正在走向技术与业务相结合、互动的新模式,从世界范围内,预计在未来十年,从市场应用和业务需求的角度看,最大和最深刻的变化将是从语音业务向数据业务的战略性转变,这种转变将深刻影响通信技术的走向。

    2022年9月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号