forked from axiom-team/astroport
52 lines
1.8 KiB
HTML
52 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html style=""><head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<title>Marketo Forms 2 Cross Domain request proxy frame</title>
|
|
<script src="forms2.js"></script>
|
|
<script>
|
|
(function (){
|
|
var $ = MktoForms2.$;
|
|
if(!window.parent || window.parent == window){
|
|
return;
|
|
}
|
|
$(window).on("message", function (e){
|
|
var origin = e.originalEvent.origin;
|
|
var message = e.originalEvent.data;
|
|
try{
|
|
message = $.parseJSON(message);
|
|
}catch(ex){
|
|
return; //our messages are always JSON
|
|
}
|
|
if(message && message.mktoRequest && message.mktoRequest.ajaxParams){
|
|
var p = message.mktoRequest.ajaxParams;
|
|
var params = { type:"POST", dataType:"json", url:p.url, data:p.data, crossDomain:false, jsonp:false };
|
|
params.success = function (data){
|
|
window.parent.postMessage(JSON.stringify({
|
|
mktoResponse:{
|
|
"for":message.mktoRequest.id,
|
|
error:false,
|
|
data:data
|
|
}
|
|
}), origin);
|
|
}
|
|
params.error = function (error, code, errMessage){
|
|
var e = error.responseJSON || errMessage;
|
|
window.parent.postMessage(JSON.stringify({
|
|
mktoResponse:{
|
|
"for":message.mktoRequest.id,
|
|
error:true,
|
|
data:e
|
|
}
|
|
}), origin)
|
|
}
|
|
$.ajax(params);
|
|
}
|
|
});
|
|
window.parent.postMessage(JSON.stringify({mktoReady:true}), "*");
|
|
})()
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h2>This page is used by Marketo Forms 2 to proxy cross domain AJAX requests.</h2>
|
|
|
|
</body></html> |