-1

関数パラメーターに json obj を渡しています。Json には、ユーザー ID、パスワード、成功呼び出し、エラー呼び出しが含まれています。

ajax サービスを介してユーザーを認証したい。サービスが成功を返した場合は、successcallback 関数にアクセスするか、エラーを返した場合は、errorcallback 関数にアクセスします。

 JSON Obj : Json_Obj =  { "UserId" : "uid", 
                           "Password" : "pwd", 
                           "Success_CB" : "successcallback()",
                           "Failure_CB" : "errorcallback()",
                          };

Json_Obj を解析できます

  Authentication = function(data) {
    var json_data = $.parseJSON(data);
    $.ajax({
           type: "GET",
            .
            .
           success:function(data){
             json_data.Success_CB;   // Unable to Execute the success call back function.
            },
             error:function(xhr,err){
                    json_data.Failure_CB
             }
   });
 }          

   // Call Back Functions 

      successcallback(){
           alert("Success");
      }
      errorcallback(){
           alert("Error");
      }

コールバック関数にアクセス/実行できません。

これについて私を助けてください..

4

2 に答える 2

1

json_data.Success_CB関数ではなく文字列です。

あなたはこれを行うことができます:

success:function(data){
    eval(json_data.Success_CB+'();');
}

ただし、受信したコードを評価する代わりに、スイッチを使用することをお勧めします。

もちろん、呼び出す関数が正確なデータに関連していない場合は、単に行うことができます

success: successcallback
于 2012-09-18T07:10:31.170 に答える
0

このままということですか?

  Authentication = function(data) {
    var json_data = $.parseJSON(data);
    $.ajax({
           type: "GET",
           success:function(data){
                successcallback();
           },
           error:function(xhr,err){
                errorcallback();
           }
   });
 }          

   // Call Back Functions 

      successcallback(){
           alert("Success");
      }
      errorcallback(){
           alert("Error");
      }
于 2012-09-18T07:11:09.377 に答える