如何将Web服务作为字符串传递给javascript?

时间:2012-07-23 13:54:08

标签: javascript asp.net web-services

我目前有一个ajax自定义控件,可以调用Web服务作为其功能的一部分。我需要传递哪个Web服务作为参数调用控件。目前,我在.vb文件中使用字符串参数并将其传递给javascript。我通过将一行作为字符串构建,然后在其上使用eval()来执行对Web服务的调用。

here,我可以看出eval很糟糕。就像该页面上的函数调用一样,有什么办法可以将Web服务用作我可以调用的东西吗?

注意,我正在从Web服务调用方法。它不是stringservice(参数),而是stringservice.start(参数)。我只是得到字符串没有start方法的错误。

任何解决方案,还是我使用eval?谢谢:))

2 个答案:

答案 0 :(得分:1)

如果您的字符串采用JSON格式,则可以使用JSON.parse

安全地转换它

答案 1 :(得分:1)

您也可以使用bracket syntax访问全局对象的属性:

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

但是,我建议将可用功能捆绑在webservices的对象中,例如

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

...

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