1. Сервер, на который вы отправляете запрос, должен поддерживать CORS и возвращать соответствующие заголовки.
2. Используйте JSONP вместо обычного AJAX:
$.ajax({
url: 'МОЙURL',
dataType: 'jsonp',
success: function(json) {
// ваш код обработки ответа
}
});
3. В некоторых случаях может помочь явное указание параметра crossDomain:
$.ajax({
url: 'МОЙURL',
dataType: 'json',
crossDomain: true,
success: function(json) {
// ваш код обработки ответа
}
});
Кроме того, обратите внимание на структуру кода:
1) Вы добавляете обработчик submit к форме внутри click-обработчика, что приведет к множественной привязке событий.
2) У вас дублируется уведомление о отправке заявки.
Код:
$(document).ready( function() {
$(".w-form").each( function() {
var frm = $(this).find('FORM') ;
frm.find("[type=submit]").click( function() {
$("form").submit(function(e){ e.preventDefault(); });
UIkit.notification({message: 'Ваша заявка отправляется...', pos: 'bottom-center', timeout: 20000});
$('.uk-button-primary').prop("disabled", true);
$.getJSON('МОЙURL', function(json) {
UIkit.notification({message: 'Ваша заявка отправляется...', pos: 'bottom-center', timeout: 20000});
$('.uk-button-primary').prop("disabled", true);
if (json.error) {
UIkit.notification.closeAll();
error = '';
for(i in json.error) {
error += json.error[i]+'\n';
}
if(error!='') {
UIkit.notification({message: error, pos: 'bottom-center', status: 'danger'});
$('.uk-button-primary').prop("disabled", false);
}
}
else if (json.chn) {
UIkit.notification.closeAll();
frm.trigger('reset');
UIkit.notification({message: json.chn, pos: 'bottom-center', status: 'success'});
$('.uk-button-primary').prop("disabled", false);
}
else {
UIkit.notification.closeAll();
UIkit.notification({message: 'Что-то пошло не так...', pos: 'bottom-center', status: 'success'});
$('.uk-button-primary').prop("disabled", false);
}
});
});
});
});