有没有使用JavaScript消费web服务的方法?我正在寻找一种内置的方法来做这件事,使用JavaScript框架不是一个选择。
发布于 2008-10-16 10:44:49
您可以使用XmlHttpRequest对象以本机方式使用JavaScript来使用web服务。但是,这个对象的实例化在不同的浏览器中是不同的。例如,Firefox和IE 7+允许您将其实例化为原生JavaScript对象,但IE6要求您将其实例化为ActiveX控件。
因此,我建议使用抽象库,比如jQuery。如果这不是一个选项,那么将创建抽象到一个工厂方法中,并检查浏览器版本。
要使用它来调用web服务,只需实例化对象,然后调用它的open()方法。我建议使用异步方式来保持UI的响应性。当调用async时,您将获得指定async方法的回调,该回调将指示请求的状态。当状态为4(已加载)时,您可以获取响应数据并对其进行处理。
如何处理数据将取决于它是什么,如果它是JSON,那么您可以通过JavaScript的eval()方法运行它,但这确实有一些安全隐患。如果是XML,您可以使用XML来处理它。
有关XMLHttpRequest对象的更多信息,请参见Wikipedia。
发布于 2008-10-16 10:44:15
如果服务托管在您的域内,则可以创建XMLHttpRequest。否则,您将遇到跨域问题。
发布于 2008-10-16 10:42:35
您可以使用XMLHttpRequest对象,但由于您不想使用任何JavaScript框架,因此必须自己编组和解组SOAP信封。
https://stackoverflow.com/questions/208051
复制相似问题