采用ajax提交POST数据的例子

问题描述

我们将一个form中的input和checkbox中的数据异步提交到php服务器,经过处理之后传回。

提交之后显示的位置:

难点分析

采用from表单的onsubmit属性阻止表单的提交

<form action="http://www.baidu.com" onsubmit="return check()">

通过check函数的return false;操作阻止表单的提交,实现不刷新提交数据的目的。

获取复选框选中的选项的值

checkbox标签部分:

	  <input type="checkbox" name="checkbox" id="multi-choiceA" value="A">选项A<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceB" value="B">选项B<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceC" value="C">选项C<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceD" value="D">选项D<br/>

javascript处理部分:

		var str = document.getElementsByName("checkbox");
		var answer = "";
		for(var i=0;i<str.length;i++)
		{
			if(str[i].checked == true)
			{
				answer += str[i].value;
			}
		}
		if(answer == "")alert('请勾选答案,然后提交');
		else
		{	//用户勾选了相关答案,进行相关处理
			var xmlhttp;

采用ajax技术与后台进行交互

	var xmlhttp;
			xmlhttp = new XMLHttpRequest();
			xmlhttp.open("POST","function.php",true);
			xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
			xmlhttp.send("qid="+qid+"&answer="+answer);

			xmlhttp.onreadystatechange=function()
			  {
			  if (xmlhttp.readyState==4 && xmlhttp.status==200)
			    {
			    	document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
			    }
			  };

完整代码

前台index.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Koastal</title>
</head>

<body>
<form action="http://www.baidu.com" onsubmit="return check()">
问题序号:<input type="text" id="qid"><br/>
选项:<br/>
	  <input type="checkbox" name="checkbox" id="multi-choiceA" value="A">选项A<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceB" value="B">选项B<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceC" value="C">选项C<br/>

	  <input type="checkbox" name="checkbox" id="multi-choiceD" value="D">选项D<br/>

	  <input type="submit" value="提交">
</form>

<div id="myDiv"></div>

<script type="text/javascript">
	que = "<?php echo $que;?>";
	answer = "<?php echo $answer;?>";
	function check()
	{
		var qid = document.getElementById("qid").value;
		var str = document.getElementsByName("checkbox");
		var answer = "";
		for(var i=0;i<str.length;i++)
		{
			if(str[i].checked == true)
			{
				answer += str[i].value;
			}
		}
		if(answer == "")alert('请勾选答案,然后提交');
		else
		{	//用户勾选了相关答案,进行相关处理
			var xmlhttp;
			xmlhttp = new XMLHttpRequest();
			xmlhttp.open("POST","function.php",true);
			xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
			xmlhttp.send("qid="+qid+"&answer="+answer);

			xmlhttp.onreadystatechange=function()
			  {
			  if (xmlhttp.readyState==4 && xmlhttp.status==200)
			    {
			    	document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
			    }
			  };
		}

		 return false; 

	}
</script>
</body>
</html>

后台function.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>koastal</title>
</head>

<body>
<?php
	$qid = intval($_POST["qid"]);
	$answer = trim($_POST["answer"]);
	echo "您提交的题目编号是".$qid.",答案是".$answer;
?>
</form>
</body>
</html>

效果显示:

时间: 2024-10-18 13:28:05

采用ajax提交POST数据的例子的相关文章

jQuery、ajax提交fromdata数据

需求说明:简单演示ajax提交fromData类型数据. 代码说明:ajax在传输数据的时候基本格式大都是固定的,只需要修改传输类型即可.下面介绍基本的参数提交. 步骤一:建立html或者jsp页面,引入jquery-3.2.1.min.js(其他版本亦可). 步骤二:建立文件选择输入框,上传按钮并给其ID赋值. 步骤三:编写jQuery.ajax代码,完成上传到指定controller. 下面是示例代码: <!DOCTYPE html><html lang="en"

ajax提交json数据到后端C#解析

本文链接:https://blog.csdn.net/qq_22103321/article/details/78015920 前端提交json数据 $.ajax({ type: "post", url: url,//请求地址 data: JSON.stringify(data),//json数据,如{"key1":"value1","key2":"value2"} dataType: "json

ajax 提交表达数据到后台

今天用了差不多一天的时间做了表单的取值并且保存到数据库,显示出来,算是自己的一个小小的进步吧,笔记下来,多看看. 是类似于发布留言功能: 前台代码: <div id="dialog" class="animated"> <img class="dialogIco" width="50" height="50" src="/images/ico.png" /> &l

JSP页面ajax提交登录数据demo

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ut

基于SpringMVC与jquery的ajax提交表单的若干情况详解

在日常的业务中,我们往往使用的是ajax提交页面数据,而不用form的action来提交整个表单.现在我来分享一下我在日常工作中遇到的一些问题. 一.$.post.$.get.$.ajax三者的区别: 顾名思义,$.post和$.get分别是采用post方式和get方式向服务器发送请求.两者的不同是,get请求的参数是在url直接以url?name1=value1&name2=value2的形式拼接而成,而post请求的参数会以请求正文的形式传送到服务器,这个学习过javaweb知识的应该都知道

ajax提交java后台接收参数出现乱码

1.现象: 前台ajax提交查询数据 $.ajax({ url: 'bdmap/xx.action', data:para, dataType:'json', contentType:"application/x-www-form-urlencoded", success: function(data){ if(data.success){ callback(data.data); } }}) Request URL:http://localhost:8083/bdmap/xx.act

Jquery-ajax()方法提交json数据

1.ajax()提交json数据代码 var strJson = getStrPayJson(); $.ajax({ type: "POST", url: "/usercenter/paycoupon", contentType: "application/json", dataType: "json", data: JSON.stringify({ "payUsers": strJson }), succ

JavaWeb开发中form、ajax提交数据Model转化

JavaWeb开发中form.ajax提交数据Model转化 问题 最近学习MongoDB数据库,作为java开发的我,当然需要做个小的web程序来测试一番了.在html中我采取ajax提交方式,因为我要模拟各种类型的数据,基础数据类型.数组.对象等.然而,最终发现了个不同的地方:Form和ajax提交数据,在HttpServletRequest中尽然参数名有所不同. 数据类型 form ajax 基础数据 para=value para=value 数组 para[]={"aaa",

jquery序列化form表单使用ajax提交后处理返回的json数据

这篇文章主要介绍了jquery序列化form表单,使用ajax提交后处理返回的json数据的示例,需要的朋友可以参考下 1.返回json字符串: ** 将一个字符串输出到浏览器 */    protected void writeJson(String json) {        PrintWriter pw = null;        try {            servletResponse.setContentType("text/plain;charset=UTF-8"