Вы должны установить ожидаемый dataType ответа в вашем вызове ajax, например:
$.post('/Applicant/RequestedJob/IsThereActivePeriod',{},
function(data){
if(data == '' )
openDialog('/Applicant/RequestedJob/AddRequestedJobWindow','pnlRequestedJob','Request Window');
else
{
msgbox.show(data.toString(),'Error', msgBoxButtons.okOnly);
console.log(data.toString());
}
},
'html'
);
Без этого jQuery пытается вывести тип ответа, согласно этому :
По умолчанию: Intelligent Guess (xml, json, script или html).
При отсутствии возвращаемого содержимого это, очевидно, угадывание XML.Передавая html в качестве dataType, вы заставляете jQuery интерпретировать ответ как HTML и сохранять результат в виде обычного текста.
Согласно некоторым комментариям, соответствующий заголовок типа контента должен позволять jQueryсделать вывод, что вашей пустой строкой является HTML, и получить тот же результат без явной установки ожидаемого dataType в вызове ajax.
Причина, по которой вы получаете [object XMLDocument]
, заключается в том, что data
является объектом документа XML,вызывается toString ().