当前位置: 首页 > 面试题库 >

如何通过servlet中的ajax获取数据?

公西俊能
2023-03-14
问题内容

我想将页面上的一些数据发送到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的请求标头的Form Data段

您会看到整个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

也可以看看:

  • jQuery.ajax() 文件资料


 类似资料:
  • 我在servlet里有一段代码 我有一个ajax代码 我有一个jsp代码 如何通过ajax将servlet中list的值分配给jsp中的allProduct

  • 问题内容: 我在网上搜索了此主题,但找不到有效的示例。我会很高兴有人可以给我帮助。 这是我测试的。 在塞夫莱特 我在所有事情上都变得空虚 问题答案: 排序答案是此数据隐藏在请求中。 以下servlet是一个演示如何使用它的示例(我正在JBoss 7.1.1上运行它): 符合要求: 输出为: (注意:不起作用。打印在第4行的地图包含通常可以使用访问的所有数据。请注意嵌套对象符号→ )。 稍微与您的问

  • 问题内容: 我在网络上搜索了此主题,但找不到有效的示例。我会很高兴有人可以给我帮助。 这是我测试的。 在塞夫莱特 我在所有事情上都变得空虚。 问题答案: 排序答案是此数据隐藏在请求中。 以下servlet是一个演示如何使用它的示例(我正在JBoss 7.1.1上运行它): 符合要求: 输出为: (注意:不起作用。打印在第4行的地图包含通常可以使用访问的所有数据。请注意嵌套对象符号→ )。 与您的问

  • 问题内容: 我的页面上有一个通过URL调用spring控制器的页面。 现在,控制器看起来像 我发送的数据使用模式,并试图访问它的,但它显示为空白。 有什么方法可以在查看页面上接收该数据? 问题答案: 您必须为Spring Ajax调用示例添加@ResponseBody批注

  • 问题内容: 我是reactjs / redux的初学者,找不到如何使用api调用在redux应用程序中检索数据的简单示例。我猜您可以使用jquery ajax调用,但是那里可能还有更好的选择? 问题答案: JSfiddle; http://jsfiddle.net/cdagli/b2uq8704/6/ 它使用redux,redux-thunk和fetch。 提取方法; 上面使用的动作: (注意:您

  • 问题内容: 首先,我认为这是一个漫长的尝试,但希望有人可以提供帮助。 为了解释当前情况,目前,我有一个自定义插件,可以获取有关用户及其最新4条帖子的各种信息。 我也在使用WPBook插件(所以这是在facebook上,只是一个典型的wordpress网站) 好的,这是我的代码,它为用户抓取了4条最新帖子: 我尝试按照本教程进行操作,但没有使用单独的插件,而是将代码放在了现有的插件中,但现在页面无法