Я встраиваю свой модуль, проект asp.net, в «портал», портал генерирует iframe для моего URL, я знаю, что это дерьмо, но я этого не сделал.
Чтобы избежать сессии в главном «портале»"конец, пока пользователь итерирует по моему веб-проекту, владелец портала сказал мне, чтобы я запускал биение с помощью javascript из моего приложения на портале.
Все знают, что хранить сеанс таким образом небезопасно, но« портал »есть, тогда мне нечего делать.
Реальная проблема заключается в том, что я не могу выполнять междоменные запросы от моего приложения к порталу, потому что та же политика происхождения заблокировала его, я нашел решение с использованием jquery, но для этого требуется [heartbeat listener] иметь дело с json.
Официальный сайт jsonp здесь .
Кто-то может мне помочь?
есть мой сценарий:
function startHeartbeat()
{
var interval = 9513575;
window.setInterval(
function () {
$.ajax({
type: "GET",
cache: false,
async: true,
crossDomain: true,
url: "http://www.theportalurl.com",
dataType: 'JSONP',
complete:function(jqXHR, textStatus){
alert("Complete");
},
success:function(json){
alert("Success");
},
error:function(jqXHR, textStatus, errorThrown){
alert("Error:" + textStatus + ", detail:" + errorThrown);
},
});
}
, interval
);
}
после того, как @rook дал мне помощь, я достиг этого:
function startHeartbeat(pgn)
{
$("body").append("<img id='heartbeat' style='width:1px; height:1px' name='heartbeat' src='http://www."+Math.random()+".org'/>");
var interval = 350000;
window.setInterval(
function () {
var rnd = Math.random();
var url = "https://www.theportal.com/refreshsession.aspx?pgn="+pgn+"&rndv="+rnd;
$("#heartbeat").attr("src", url);
}
, interval
);
}