0

現在、機能の一部として Web サービスを呼び出す ajax カスタム コントロールがあります。コントロールに呼び出す Web サービスをパラメーターとして渡す必要があります。現在、.vb ファイルで文字列パラメーターを使用し、それを JavaScript に渡しています。行を文字列として作成し、その上で eval() を使用して、Web サービスへの呼び出しを実行します。

ここから、eval が悪いことがわかります。そのページの関数呼び出しのように、Web サービスを呼び出し可能なものとして使用する方法はありますか?

Web サービスからメソッドを呼び出していることに注意してください。stringservice(parameters) の代わりに、stringservice.start(parameters) です。そして、文字列に開始メソッドがないというエラーが表示されます。

解決策はありますか、または eval を使用して立ち往生していますか? ありがとう :)

4

2 に答える 2

1

文字列が JSON 形式の場合は、次を使用して安全に変換できますJSON.parse

于 2012-07-23T13:58:20.897 に答える
1

ブラケット構文でもグローバル オブジェクトのプロパティにアクセスできます。

window[this.WebService](this.ProcessID, this.ProcessName, params);

ただし、次のように、使用可能な機能を Web サービスのオブジェクトにバンドルすることをお勧めします。

var webservices = {
    a: function(id, name, params) { ... },
    b: function(id, name, params) { ... },
    ...
};

...

webservices[this.WebService](this.ProcessID, this.ProcessName, params);
于 2012-07-23T14:24:17.440 に答える