XMLHttpRequest的。 WSDL请求。 readyState == 4,但status == 0

时间:2018-06-01 15:49:49

标签: javascript xml xmlhttprequest wsdl

我尝试从http://rates.kazpost.kz/postratesprodv2/postratesws.wsdl解析WSDL信息 但是当我尝试它时,我什么都没有。 xmlhttp.readyState == 4,但是xmlhttp.status == 0.

var xmlhttp = new XMLHttpRequest();
	xmlhttp.open('POST', 'http://rates.kazpost.kz/postratesprodv2/postratesws.wsdl', true);

	// build SOAP request
	var sr =
		'<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pos="http://webservices.kazpost.kz/postratesws">' +
		'<soapenv:Header/>' +
		'<soapenv:Body>' +
			'<pos:GetPostRateRequest>' +
				'<pos:GetPostRateInfo>' +
					'<pos:SndrCtg>1</pos:SndrCtg>' +
					'<pos:Product>P102</pos:Product>' +
					'<pos:MailCat>1</pos:MailCat>' +
					'<pos:SendMethod>2</pos:SendMethod>' +
					'<pos:Weight>750</pos:Weight>' +
					'<pos:Dimension>s</pos:Dimension>' +
					'<pos:Value>100</pos:Value>' +
					'<pos:From>050031</pos:From>' +
					'<pos:To>010001</pos:To>' +
					'<pos:ToCountry>au</pos:ToCountry>' +
				'</pos:GetPostRateInfo>' +
			'</pos:GetPostRateRequest>' +
		'</soapenv:Body>' +
		'</soapenv:Envelope>';

	xmlhttp.onreadystatechange = function () {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				alert('done. use firebug/console to see network response');
			} else {
				alert('ERROR. Status: ' + xmlhttp.status + " " + xmlhttp.statusText);
			}
		}
	}
	// Send the POST request
	xmlhttp.setRequestHeader('Content-Type', 'text/xml');
	
	xmlhttp.send(sr);
	// send request
	// alert("Ready.");

1 个答案:

答案 0 :(得分:0)

似乎您尝试在http连接下发出https请求,因此出于安全原因,浏览器会阻止请求。

HTTP Ajax Request via HTTPS Page了解更多详情