Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.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 在泽西岛及;JQuery_Java_Jquery_Jersey - Fatal编程技术网

Java 在泽西岛及;JQuery

Java 在泽西岛及;JQuery,java,jquery,jersey,Java,Jquery,Jersey,我有一个问题发布到泽西岛使用以下 var details = {username: uname, password: pword}; $.post('login',function(details){ console.log("sent: "+details); }); 正在运行我的登录页面中的正确功能,但用户名和密码均为空 以下是我如何消费它们 public void login(@FormParam("username") String uname, @

我有一个问题发布到泽西岛使用以下

var details = {username: uname, password: pword};
$.post('login',function(details){
    console.log("sent: "+details);
});
正在运行我的登录页面中的正确功能,但
用户名
密码
均为空

以下是我如何消费它们

   public void login(@FormParam("username") String uname,
           @FormParam("password") String pword){
       System.out.println("username = " +  uname + "password = " + pword);
   }
我意识到我发布的不是表单,但
@FormParam
是我能看到的唯一适合这里的
@

编辑

好的,我现在有以下内容

正在制作的帖子

    var details = {'username': username, 'password': password};
$.POST('login', details,function(result){
    console.log(result);
},"json");
接收方法

@POST
 public Viewable HeyStaksLogin(LoginInfo loginI){
       String uname = loginI.username;
       String pword = loginI.password;
       System.out.println("username = ");
 }
登录信息类

@XmlRootElement
public class LoginInfo {
public String username;
public String password;
}

数据作为函数的第二个参数发送(第一个是url,第三个是成功回调),如下所示:

var details = { username: username, password: password };
$.post('login', details, function(result) {
    console.log(result);
});

@FormParam在这种情况下不可用,因为您发布的是JSON。以下是您可以做的一个示例:

1) 将jersey-json.jar添加到项目依赖项中

2) 定义以下bean以表示消息体:

@XmlRootElement
public class LoginInfo {
    public String username;
    public String password;
}
3) 修改登录方法,如下所示:

public void login(LoginInfo li) {
    System.out.println("username = " + li.username + "; password = " + li.password);
}

为您的服务器端方法尝试@Consumes(MediaType.APPLICATION\u FORM\u URLENCODED)注释

同样的问题。服务器返回500错误。两个参数都为空。@user596186,看起来服务器希望调用参数
username
password
,而不是
uname
pword
。您可以尝试这样修改您的请求:
var-details={username:username,password:password}?我现在得到以下响应。TypeError:对象函数(a,b){return new e.fn.init(a,b,h)}没有方法'POST'仍然没有解决我的问题。它声称
方法未定义
好的,我以为您跳过了代码段中的注释只是为了保持简短。当然,您的登录方法需要用@POST注解,还应该用@Consumes(“application/json”)注解。您可以不返回void,而是返回Response,return语句可以如下所示:
return Response.seeOther(url\u you\u want\u redirect\u to).build()