Javascript AJAX身份验证?

Javascript AJAX身份验证?,javascript,android,ajax,jsp,cordova,Javascript,Android,Ajax,Jsp,Cordova,请看图片 我有两个AJAX请求: 第一个进行身份验证的服务器响应: Set Cookie:JSESSIONID=06AB56403C08AD373BEDE33CBEFBE102;路径=/ 另一个要使用会话的。我应该怎么做才能发送到服务器以使用相同的身份验证会话(GET请求) 我的代码: 第一个AJAX请求: $.ajax({ url : "https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly", type : "POST",

请看图片

我有两个AJAX请求:

  • 第一个进行身份验证的服务器响应:

    Set Cookie:JSESSIONID=06AB56403C08AD373BEDE33CBEFBE102;路径=/

  • 另一个要使用会话的。我应该怎么做才能发送到服务器以使用相同的身份验证会话(GET请求)

  • 我的代码:

  • 第一个AJAX请求:

    $.ajax({
        url : "https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly",
        type : "POST",
        data : {
            "date" : "135854809",
            "json" : JSON.stringify({
                "nin" : "1089194383",
                "password" : "255793"
            })
        },
        success : function(data) {
            console.log(data);
        }
    });
    
  • 第二个AJAX请求:

    $.ajax({
        url : 'https://www.hafiz.gov.sa/HRDFWeb/UpdateLastLogin?nin=1089194383&password=255793&date=1374661464&callback=?',
        type : "get",
        dataType: 'jsonp',
        success : function(data) {
            console.log(data);
        },
        error : function(data){
            console.log(data);
        }
    });
    
  • 编辑:

    @w4rumy,谢谢你的回答,但我无法访问该代码。我正在编写一个phonegap android应用程序,这是它用来连接服务器的代码

    HttpPost httpost = new HttpPost("https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly");
    
    List <NameValuePair> nvps = new ArrayList <NameValuePair>();
    nvps.add(new BasicNameValuePair("date", System.currentTimeMillis() + ""));
    nvps.add(new BasicNameValuePair("json", "{\"nin\":\""+idd+"\",\"password\":\""+passs+"\"}"));
    
    try {
        httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    
    try {
        response = httpclient.execute(httpost);
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    entity = response.getEntity();
    
    Log.v("mytag", "Login form get: " + response.getStatusLine());
    
    if (entity != null) {
        try {
            entity.consumeContent();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    Log.v("mytag", "Post logon cookies:");
    cookies = httpclient.getCookieStore().getCookies();
    
    if (cookies.isEmpty()) {
        Log.v("mytag", "None");
    } else {
        for (int i = 0; i < cookies.size(); i++) {
            Log.v("mytag", "- " + cookies.get(i).toString());
        }
    }
    
    httpget = new HttpGet("https://www.hafiz.gov.sa/HRDFWeb/UpdateLastLogin?nin=1089194383&password=255793&date=1358448809");
    try {
        response = httpclient.execute(httpget);
    } catch (ClientProtocolException e1) {
        e1.printStackTrace();
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    
    try {
        content = response.getEntity().getContent();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    
    HttpPost-httpost=新的HttpPost(“https://www.hafiz.gov.sa/HRDFWeb/AuthenticateDirectly");
    List-nvps=newarraylist();
    添加(新的BasicNameValuePair(“日期”,System.currentTimeMillis()+);
    添加(新的BasicNameValuePair(“json”,“nin\”:\“+idd+”,“password\”:\“+passs+”\”));
    试一试{
    setEntity(新的UrlEncodedFormEntity(nvps,HTTP.UTF_8));
    }捕获(不支持的编码异常e){
    e、 printStackTrace();
    }
    试一试{
    response=httpclient.execute(httpost);
    }捕获(客户端协议例外e){
    e、 printStackTrace();
    }捕获(IOE异常){
    e、 printStackTrace();
    }
    entity=response.getEntity();
    Log.v(“mytag”,“登录表单get:+response.getStatusLine());
    如果(实体!=null){
    试一试{
    entity.consumercontent();
    }捕获(IOE异常){
    e、 printStackTrace();
    }
    }
    Log.v(“mytag”,“登录后cookies:”);
    cookies=httpclient.getCookieStore().getCookies();
    if(cookies.isEmpty()){
    Log.v(“mytag”、“无”);
    }否则{
    对于(int i=0;i
    这与您有什么不同?@w4rumy当我使用网页登录并运行第二个ajax时,它在请求头上有一行“Cookie:JSESSIONID=78b61deba621aa82376b5d7d10a1183f3;NSC_Ibgja-IUUQt=ffffffffff c3a0b60045525d5f4f4845e445a4a4229a0”(您可以使用chrome或firefox查看)和返回值。我不知道为什么?不管怎样,500是服务器错误。因此,您应该联系制作服务器端代码的人。