2017-01-13 9 views
1

イントロ#(編集)をしなかった私は、セットアップを行う方法

ねえみんな、私は私たちにAJAXを設計し、PHPの番号に接続されたJavaScriptライブラリを設定してい、データベースに接続します。 (これはあなたがAPIと呼んでいることをかなり確信しています)。私のチームにとってもっと簡単になるように、私は、$のような初期化オブジェクトをjQueryにセットアップしたかったのです。誰かが正しいデータ型を教えてくれるの?JavaScriptの期間の機能:jQueryのようなライブラリは

// Pull new user data from fields 
var username = $.("#usernamefield").val(); 
var password = $.("#userpassfield").val(); 

// Send data to library through 
API.AddUser(username, password); 

// Sorry for any syntax errors, this is just example code 

潜在的な解決策

私はクラスのシステムを使用することを検討しましたが、私はいくつかの研究を行なったし、もっと良い方法があるかもしれないように思えます。 jQueryがライブラリをどのようにセットアップするか説明できる人がいますか?私はjQueryのを使用していない理由をClarificaton

少数の人々

は尋ねました。まあ、実際は、私です。私はjQueryを使い、PHPで情報をアップロードするためにこの別のライブラリを構築しています。彼らは2つがリンゴとオレンジですが、私はjQueries "$"のようなイニシャライザを持っていたいと思います - 誰かが彼らのやり方を説明できますか?

+0

あなたはjQueryのような何かをしたい場合は、なぜあなたの "例"ではjQueryを使うだけではなく、 'API'は' $ 'にどう関係していますか? [zepto](http://zeptojs.com/)はおそらくリーンなjQueryライクなライブラリです。devソースコードは大きくコメントされていますので、そのことから "学ぶ"ことができます –

+0

jQueryを使用していますが、オブジェクトに保持されている自分の関数のいくつか。 – Jacob

+0

ダイナミックJavaScriptがどのようにして実現したかはわかりません。 Pythonの背景から来て、少し狂っています。もっと正確になるように質問を修正します – Jacob

答えて

2

は、あなたがそれを行う必要がありますどのようにある必要なデータパス:あなたがAPI.jsを呼び出すことができますJSテンプレートで

を、あなたは肝炎ますe。次:あなたはAjaxの呼び出しを行う必要がある場合

;(function($){ 

    /* ======================================================== 
    /* Global variables */ 
    /* =======================================================*/ 
    var api = null; 

    /* ======================================================== 
    /* Ajax calls */ 
    /* =======================================================*/ 

    var API = function(args) 
    { 
     // Api methods 

     this.AddUser = function (username, password) 
     { 

      //To do Ajax call 
     } 

     this.DeleteUser = function(id) 
     { 
      //To do Ajax call 
     } 

     // ... More api methods 
    }; 

    /* ======================================================== 
    /* Main function */ 
    /* =======================================================*/ 

    jQuery.fn.API = function(args) 
    { 
     api = new API(args); 
     return api; 
    }; 


})(jQuery); 

はその後、あなただけの、次のように任意の必要な引数とAPIオブジェクトを初期化する必要があります。

$(function() { 
    //Note: you can pass global arguments. 
    var API = $().API(); 

    //You can then make your api calls with required values 

    // Pull new user data from fields 
    var username = $("#usernamefield").val(); 
    var password = $("#userpassfield").val(); 

    // Send data to library through 
    API.AddUser(username, password); 

}); 
+0

私のコードを同様のものに更新しました。 var API; API.AddUser = function(){/ *スタッフ* /} これは効果的な方法でしょうか? – Jacob

+0

なぜそうでないのか分かりません。あなたが達成したいことはすべてです。 – Medard

0

あなたが心に留めていることはあまりよく分かりませんが、状態情報付きの関数を設定したいと思うようです。これを行う1つの方法は、クロージャーの中に入れることです。おそらくこのような何か:...

` 
var connect = function(username,password){ 

        //perhaps do some stuff here 

        return function(a,b,c){ 
          //do connection stuff using 
          // username, password and a,b,c 
         } 
       }; 
` 

Then you can set up your connection function: 

` 
    fredsConnection = connect('fred', 'piglet'); 
` 

これは、彼が接続する必要があるので、今、任意の時点に建てられたフレッドの資格情報を使用してあなたの接続機能を提供します:

` 
fredsConnection('widgets', 'v2','green') 

` 彼は接続を呼び出すことができますただ機能とここ

関連する問題