У меня есть сервер, на котором запущена служба, я хочу запустить с некоторым интервалом запрос ping для службы, чтобы я мог знать, когда он готов или нет.SOAP-запрос через jQuery AJAX
Получили следующий ping.dat
файл:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dvt="[private]">
<soapenv:Header />
<soapenv:Body>
<dvt:Ping/>
</soapenv:Body>
</soapenv:Envelope>
И следующие функции JavaScript (который будет включен в функцию setInterval()
):
function doAjax() {
//load request document
$.ajax({
cache: false,
crossDomain: true,
async: true,
dataType: 'xml',
type: 'POST',
data: null,
url: "./ping.dat",
error: function(xhr, sta, err){ alert(err); },
success: function(ret, sta, xhr){
//ping service
$.ajax({
cache: false,
crossDomain: true,
async: false,
processData: false,
contentType: "text/xml; charset=\"UTF-8\"",
dataType: 'xml',
data: processXML(xhr.responseText),
type: 'POST',
url: "[private]",
error: function(xhr, sta, err){
alert(err);
},
success: function(ret, sta, xhr){
$('#response').text($.trim(ret));
},
complete: function(xhr, sta){
alert('complete');
},
});
}
});
}
function processXML(text){
var ret = null;
if ((typeof(ret) !== 'undefined')&&(text !== null)&&(text.length !== 0))
ret = $.trim(text.replace(/[\n\t]+/g, ''));
return ret;
}
Когда я использую SoapUI для вызова службы и нагрузки запрос ping, он работает.
При использовании функции JS, отчеты браузера:
OPTIONS [частные] 200 (OK) JQuery-1.10.2.js: 8706
XMLHttpRequest не может загрузить [частное]. В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Происхождение 'http: / / localhost: 8080' поэтому не допускается.
Что вызывает это?