Tengo un formulario que carga un archivo en firame a un servidor remoto. Como resultado, en el servidor de URL de envío, se devuelven los datos json con el resultado de la operación, que mi iframe capta.Recuperación de respuesta del servidor remoto después de cargar un archivo en iframe
{'result': 'true' or 'false'}
Ahora me gustaría recuperar este json como la devolución de llamada de mi iframe. Sé que necesito jsonp para lograr esto, ya que es una llamada entre sitios. Aquí está mi función con código de ejemplo de IBM' site:
function fileUploadFunction(){
var fileUploadForm = $('#file_upload_form');
fileUploadForm.attr('action', uploadURL);
fileUploadForm.submit();
$('#upload_target').load(function() {
alert("IFrame loaded");
$.getJSON(uploadUrl+"&callback=?", function(data) {
alert("Symbol: " + data.symbol + ", Price: " + data.price);
});
});
};
Pero aquí surgen algunos problemas. Primero, mi uploadUrl es solo "http: // something /". ¿Lo necesito para admitir llamadas con el sufijo $callback=
?
En segundo lugar, el servidor responde solo como resultado de la carga del archivo. Entonces necesito obtener el resultado que está almacenado en mi iframe y no en la url especificada. ¿Cómo resolver esto?
Aquí está el enlace. Observe el iframe oculto dentro del formulario. El resultado del servidor se muestra allí. :
http://ntt.vipserv.org/artifact/
EDITAR
He tratado anteriormente:
$('#upload_target').load(function() {
var ret = frames['upload_target'].document.getElementsByTagName("body")[0].innerHTML;
var data = eval("("+ret+")");
});
pero plantea 'permisos negados 'error.
Ver mi respuesta actualizada. –
lea esto: http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe –
Es posible que desee establecer una respuesta aceptada ... –