我正在尝试使用公共Web服务提供程序测试本地JavaScript-Access。
到目前为止,http://www.thomas-bayer.com/axis2/services/BLZService?wsdl处的Web服务似乎有效。据我所知,它会返回银行编号...幸运的是有人写了一篇关于Web服务的教程,引用了这个(http://predic8.com/wsdl-reading.htm)。
第一次尝试后,我需要将我的代码更改为CORS并获得了一个非常好的教程(http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/),遗憾的是它在Google Chrome中无效我总是遇到错误:
XMLHttpRequest cannot load http://www.thomas-bayer.com/axis2/services/BLZService. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8383' is therefore not allowed access. (13:53:38:981 | error, javascript)
at public_html/index.html
所以我尝试使用Firefox并且“改变了”。现在FireBug告诉我有一个“500内部服务器错误”。
我刚刚更改了教程中代码的地址,直到现在我无法弄清楚我需要哪些消息/参数到Web服务... 我该如何修改它?即使我使用CORS,是否有必要更改Chrome / FF中的设置?
<script type="text/javascript">
function createCORSRequest(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("get", "http://www.thomas-bayer.com/axis2/services/BLZService");
if (request) {
request.onload = function() {
//do something with request.responseText
};
request.send();
}
</script>