需要js 远程调用服务端方法。new Client(url).xxx().
首先有个url获取服务端可用方法名 格式如下["get_product_list","get_categroy_list"]
function Client (url) {
//请求url 返回["get_product_list","get_categroy_list"]
var array_method_list = ["get_product_list","get_categroy_list"] ;
for (var v of array_method_list){
this[v] = v;//此处只是把函数名进行赋值 本地是没有这个方法的 如何调用呢
}
}
想到用eval这个方法了,可是十分讨厌这个方法,有什么好办法不用eval()?或者更简洁的方式去写
function Client(url) {
// url AJAX获得array_method_list
var array_method_list;
var obj = new Object;
obj.invoke = function(method_name, argument_list) {
// AJAX方法获取数据
var called_function_name = "on_"+method_name+"_finished";
}
for (method_name in array_method_list) {
eval("obj."+method_name+"=function(){this.invoke('"+method_name+"', arguments);}");
}
return obj;
}
相关分类