我创建了一个RestEasy网络服务,并使用获取方法并使用 http://localhost:8080/rest/search?name=foo 等URI将参数传递给服务,并通过使用来访问这些参数 @QueryParam,它工作正常: 注意:我使用ajax调用
调用Web服务@GET
@Path("/search")
@Consumes({"application/xml", "application/json", "text/plain"})
@Produces( MediaType.TEXT_PLAIN)
public JSONArray getDetails(@QueryParam("name") String name) {
//my code here
}
我的ajax电话
$.ajax({
type : 'get',
url : searchURL,
headers : { 'SM_USER' : userId },
dataType : 'json',
success : function(data) {
现在我必须将方法从GET更改为POST,在这种情况下,它不接受URI参数,现在我尝试了以不同的方式: 现在我通过ajax数据传递值。 Ajax Call:
$.ajax({
type : 'post',
url : searchSuppURL,
headers : { 'SM_USER' : userId},
contentType: "application/json",
data: { 'name' : 'foo'},
dataType : 'json'
success : function(data) {
网络服务代码:
@POST
@Path("/search")
//@Consumes({"application/x-www-form-urlencoded"})
@Consumes({"application/xml", "application/json", "text/plain"})
@Produces( MediaType.TEXT_PLAIN)
public JSONArray getDetails(String name) {
数据现在可供服务使用,但格式不正确我有sysout吗
System.out.println("name...." +name);
而不是打印名称.... foo 它正在打印名称....名称= foo
我没有得到任何建议......
先谢谢
答案 0 :(得分:1)
我想简单地获取一个String值,然后使用
$ adb devices
List of devices attached
emulator-5560 device
$ telnet localhost 5560
Connected to localhost.
Escape character is '^]'.
Android Console: type 'help' for a list of commands
OK
window scale 0.75
OK
像你想做的那样。摆脱ajax请求中的@Consumes({"application/x-www-form-urlencoded"})
(默认为contentType
。并在资源方法中添加application/x-www-form-urlencoded
注释
@FormParam