Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对Jax-rs服务的Ajax Post请求_Java_Javascript_Html_Jquery_Jax Rs - Fatal编程技术网

Java 对Jax-rs服务的Ajax Post请求

Java 对Jax-rs服务的Ajax Post请求,java,javascript,html,jquery,jax-rs,Java,Javascript,Html,Jquery,Jax Rs,我正试图从浏览器中发出一个简单的post请求,浏览器控制台中显示了415个不受支持的媒体,控制台上也显示了类型是text/html,也许我在这里误解了一些愚蠢的事情,但说真的,我是在从android客户端发出post请求,服务器端可以找到一切,所以我想(因为我不熟悉js),这是我在这里遇到的javascript问题,下面是代码中感兴趣的部分: ajax(此函数称为send,它在创建json之前做了一些事情,这一部分还可以,并且经过测试,json正在成功生成): 如何以HTML形式调用javasc

我正试图从浏览器中发出一个简单的post请求,浏览器控制台中显示了
415个不受支持的媒体
,控制台上也显示了
类型
text/html
,也许我在这里误解了一些愚蠢的事情,但说真的,我是在从android客户端发出post请求,服务器端可以找到一切,所以我想(因为我不熟悉js),这是我在这里遇到的javascript问题,下面是代码中感兴趣的部分:

ajax(此函数称为
send
,它在创建json之前做了一些事情,这一部分还可以,并且经过测试,json正在成功生成):

如何以HTML形式调用javascript:

<form action="javascript:send()"  method="post">
Edit:
由于@adrianplattner的回答,我使用的是
glassfish 4.0
,所以我不需要添加jersey的依赖项,我也尝试了
glashfish 3.1
,但仍然得到相同的HTTP错误

编辑2:
标题:

 headers: { 
    'Accept': 'application/json',
    'Content-Type': 'application/json' 
},

您可以添加jersey依赖项:

 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-json</artifactId>
     <version>1.11</version>
 </dependency>

泽西岛
泽西json
1.11

这应该可以解决您的问题

jQuery.ajax()调用的默认内容类型是
application/x-www-form-urlencoded;charset=UTF-8
(请参阅),但您希望在JAX-RS资源中使用
application/json
。设置调用的
contentType
参数为
application/json

我这样做了,但没有效果,我也尝试在标题中设置一些参数,比如theon在这里的回答,但没有解决问题,我需要实体包装还是什么?你能尝试打开LoggingFilter吗(如本回答中
EDIT 1
所述)并与我们共享请求的标题?现在使用标题编辑,我不知道如何使我的maven Jax rs项目生成web.xml,我真的不想手动添加它。您不需要创建
web.xml
,有3种方法可以注册LoggingFilter(所有这些都在链接中进行了描述)。我对服务器上的标题很好奇,这些标题被记录到服务器日志中(当LoggingFilter启用时)。我在配置类中添加了“@XmlRootElement”,它给了我一个错误的请求错误,没有XmlRoo…t提示,我成功地从Android客户端发出了post请求。
 headers: { 
    'Accept': 'application/json',
    'Content-Type': 'application/json' 
},
 <dependency>
     <groupId>com.sun.jersey</groupId>
     <artifactId>jersey-json</artifactId>
     <version>1.11</version>
 </dependency>