有没有办法使用JavaScript来使用Web服务?我正在寻找一种内置的方法,使用JavaScript框架不是一种选择.
您可以使用XmlHttpRequest对象本地使用JavaScript来使用Web服务.但是,实例化此对象因浏览器而异.例如,Firefox和IE 7+允许您将其实例化为本机JavaScript对象,但IE6要求您将其实例化为ActiveX控件.
因此,我建议使用抽象库,如jQuery.如果这不是一个选项,那么将创建抽象为工厂方法并检查浏览器版本.
要使用它来进行Web服务调用,您只需实例化该对象,然后调用它的open()方法.我建议这样做是异步的,以保持UI响应.调用异步时,您将获得指定异步方法的回调,该异步方法将指示请求的状态.当状态为4(已加载)时,您可以获取响应数据然后进行处理.
你如何处理数据将取决于它是什么,如果它是JSON,那么你可以通过JavaScript的eval()方法运行它,但这确实有一些安全隐患.如果是XML,您可以使用XML DOM来处理它.
有关XMLHttpRequest对象的更多信息,请参阅Wikipedia.
如果服务托管在您的域中,则可以创建XMLHttpRequest.如果没有,您将遇到跨域问题.