Я провел всю пятницу на этом, и решил, что приду в понедельник и посмотреть, смогу ли я помочь. Вот резюме:JSONP не возвращает данные в https
У меня есть два веб-сайта, один использует AJAX для вызова в http-обработчике на другом веб-сайте, чтобы вернуть токен (строку). Сначала я использовал json-вызов, который отлично работает, но когда сайт, к которому я обращаюсь, использует https, данные не возвращаются.
Я получаю сообщение об успешном завершении 200, и я получаю данные обратно с помощью http, но не https. У меня эта проблема работает на моей локальной машине. Я проверяю, что если я использую тот же URL-адрес, данные будут возвращены в моем браузере.
Кроме того, когда в режиме https я устанавливаю точку останова, похоже, что он даже не вызывает код для передачи токена.
Спасибо заранее!
function onSuccessGetToken(token, url, type) {
var getTokenUrl = url + "SSOtoken=" + token;
//verify the URL is correct, for testing
alert(getTokenUrl);
$.ajax({
url: getTokenUrl,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
onSuccess(JSON.stringify(msg).replace(/\"/g, ""), url, type);
},
error: function (msg) {
//using jsonp, this always goes here, but no data is returned
alert(JSON.stringify(msg));
onErrorGetToken(msg);
}
});
}
JSONP и JSON - это две совершенно разные вещи. Ваше название вопроса говорит о JSONP, но я уверен, что вы действительно говорите о JSON. –