2012-04-26 12 views
0

サーバからGETを使用したユーザのリストからユーザ名をPOSTする必要がありますが、そのユーザ名を文字列としてPOSTする方法があります。 ご協力いただきありがとうございます。jQueryを使用してGETのPOST値にする

//get a list of users from server side 
$.getJSON(
    '/userlist', 
    function(data) { 
    var user = data.users; 
    $("#utbildning").text(user[1].username); 
    $("#tekniker").text(user[2].username); 
    } 
); 

//post user name and password at login 
$(document).ready(function() { 
    $("#knapp").click(function(){ 

    //name of the user should be a name from the user list comes from server 
    var name=$.getJSON(
     '/userlist', 
     function(data) { 
     var user = data.users; 
     user[1].username; 
     } 
    ); 
    var pass=$("#kod").val(); //password from input field 
    var data = new Object(); 
    data["username"] = name; 
    data["password"] = pass; 

    $.ajax(
     { 
     url: "/login", 
     data: JSON.stringify(data), 
     processData: false, 
     type: 'POST', 
     contentType: 'application/json', 
     } 
    ); 
    }); 
}) 
+0

はどのようにコードが表示された、またはあなたがセクションを提示しているということでしょうか? – hvgotcodes

+0

コードはGETとPOSTのデータを表示します – nihulus

+0

つまり、実行しようとするとどうなるのでしょうか? – hvgotcodes

答えて

1

複数のエラー:大きな変更がない限り、あなたは$ .getJSONが非同期であるとして、あなたはAJAX呼び出しからの変数セットを使用するものは何でもすべきその後var name = $.getJson(...

  • を使って何かを

    • を取得することはありません$ .getJSONコールバックメソッド。あなたの最初の呼び出しで行うように。

    ここでは、(あなたのコードがが正しいだけでなく場合)のバージョンを「修正」です:

    //get a list of users from server side 
    $.getJSON(
        '/userlist', 
        function(data) { 
        var user = data.users; 
        $("#utbildning").text(user[1].username); 
        $("#tekniker").text(user[2].username); 
        } 
    ); 
    
    //post user name and password at login 
    $(document).ready(function() { 
        $("#knapp").click(function(){ 
    
        //name of the user should be a name from the user list comes from server 
        $.getJSON(
         '/userlist', 
         function(data) { 
         var user = data.users; 
         var name = user[1].username; 
         var pass=$("#kod").val(); //password from input field 
         var data = new Object(); 
         data["username"] = name; 
         data["password"] = pass; 
    
         $.ajax(
          { 
          url: "/login", 
          data: JSON.stringify(data), 
          processData: false, 
          type: 'POST', 
          contentType: 'application/json', 
          } 
         ); 
         } 
        ); 
        }); 
    }) 
    
  • +0

    ありがとう!それは完璧に働いています。私は別の解決策をとった:user [1]が選択された場合、ユーザーの値をhtmlの不可視入力フィールドに設定し、入力テキストをサーバーにポストする – nihulus

    関連する問題