如何在servlet中通过ajax获取数据
How to get the data via ajax in servlet?
我想将页面上的一些数据发送到servlet
所以我写了下面的jquery来做这个
我使用所有数据构建一个json字符串,并直接将其发送到servlet
但我不知道如何在servlet 中从ajax获取全部数据
$("#save").click
(
function()
{
$.ajax
(
{
url:'/WebApplication1/Controller',
data:'{"name":"abc","address":"cde"}',
type:'post',
cache:false,
success:function(data){alert(data);},
error:function(){alert('error');}
}
);
}
);
如果查看chrome 请求标头的表单数据段
您将看到整个json字符串是关键。
Request URL:http://192.168.0.13/WebApplication1/Controller
Request Method:POST
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Charset:Big5,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:112
Content-Type:application/x-www-form-urlencoded
Host:192.168.0.13
Origin:http://192.168.0.13
Referer:http://192.168.0.13/system_admin/building.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.910.0 Safari/535.7
X-Requested-With:XMLHttpRequest
Form Dataview URL encoded
{"name":"abc","address":"cde"}:
Response Headersview source
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Language:en
Content-Type:text/html; charset=iso-8859-1
Date:Wed, 15 Feb 2012 12:37:24 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1
Transfer-Encoding:chunked
Vary:accept-language,accept-charset
看这里,
data:'{"name":"abc","address":"cde"}',
您的data
属性错误。它不应该是一个字符串,而是一个真正的JSON对象。删除那些单引号。
data:{"name":"abc","address":"cde"},
通过这种方式,它在servlet中可用,就像一样
String name = request.getParameter("name"); // abc
String address = request.getParameter("address"); // cde
如果它仍然不起作用,请转到"我应该如何使用servlet和Ajax?"?对于完整的启动示例,只是为了排除您的实际问题是由其他地方引起的。
另请参阅:
jQuery.ajax()
文档
您可以通过ajax发送数据,而不需要任何形式,也可以通过GET或POST发送数据,但您必须以某种方式调用执行ajax请求(http请求)的函数。
例如,您可以通过以下方式从链接调用函数:
html:
<a href="" onClick="javascript: yourAjaxCallFunction(parameters)" >Link Text</a>
javascript:
function yourAjaxCallFunction(parameters)
{
//this function sends the request via jquery ($().ajax)
sendHttpRequest(parameters);
//this one handles the response (process data)
processResult();
}
这个链接可能就是你想要的jQuery文档中的ajax函数
相关文章:
- React路由器服务器端渲染和ajax获取数据
- JS-使用Ajax获取文件名
- 在chrome扩展中使用AJAX获取目录中的文件数
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- jQuery AJAX获取Vimeo缩略图
- 使用ajax获取通过FTP上传的文件的文件大小——试图防止ajax中断自身
- 通过Ajax获取变量
- 在.js文件上使用Ajax获取JSONP
- 通过AJAX将从AJAX获取的值发送到另一个PHP文件
- 使用 AJAX 获取 XML,然后将其解析为 JSON(无需服务器)
- 如何在控制器代码点火器中从 ajax 获取数据
- 使用 Ajax 获取表单数据
- 从 Ajax 获取由 ZombieJS 的异步点击事件触发的 Http 错误
- PHP没有从$.ajax获取POST数据
- Ajax获取数据以获取另一个Ajax数据
- AJAX获取请求有时会在iOS Safari上失败
- 如何在另一个php文件中从ajax获取变量
- AngularJS中使用ajax获取数据的最佳方式是什么
- 在react组件中使用ajax获取实时更新的数据
- 当使用AJAX获取PHP文件以从MySQL数据库中检索数据时,会出现下拉表单disapering