2012-06-12 3 views
0

Существует ряд ссылок, которые обрабатываются этой функцией, которые содержат то, что мне нужно, и я пытаюсь использовать Greasemonkey для сохранения содержимого внутри этих ссылок.Как обращаться с __doPostBack() в Greasemonkey?

Вот что я пробовал:

var content; 
var viewstate; 
var crystalstate; 

$(document).ready(function() { 

viewstate = $("#__VIEWSTATE").val(); 
crystalstate = $("#__CRYSTALSTATEctl00$main$CrystalReportViewer1").val(); 

$.post("CautarePolite.aspx", { 
__EVENTTARGET: 'ctl00$main$gvPolite$ctl02$lbDetaliiPolita', 
__EVENTARGUMENT: '', 
__CRYSTALSTATEctl00$main$CrystalReportViewer1: crystalstate, 
__VIEWSTATE: viewstate 
}, 
function(data) { 
     content = data; 
    }); 

alert(''); 

$.post("script_url.php", { data: content }); 

}); 

Это дает мне страницу со следующим сообщением об ошибке:.

«Валидация ViewState MAC не удалось Если это приложение размещается на веб-ферме или кластера, убедитесь, что конфигурация задает один и тот же алгоритм validationKey и валидации. AutoGenerate не может использоваться в кластере ».

Вот немного кода на странице, которая может представлять интерес:

<form method="post" action="CautarePolite.aspx" id="aspnetForm" class="wrap"> 
<div class="aspNetHidden"> 
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> 
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> 
<input type="hidden" name="__CRYSTALSTATEctl00$main$CrystalReportViewer1" id="long value*" /> 
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="*very long value*" /> 
</div> 

<script type="text/javascript"> 
//<![CDATA[ 
var theForm = document.forms['aspnetForm']; 
if (!theForm) { 
    theForm = document.aspnetForm; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 
//]]> 
</script> 

ответ

0

Он отсутствовал __VIEWSTATEENCRYPTED

поле ввода было дальше вниз в исходном коде, но решить ее , Я получил то, что мне было нужно.