我使用 PHP 在网站中集成了 EchoSign API,但我被回调信息困住了。
我正在创建一个小部件并向用户显示,我希望在用户单击按钮并且文档已签名后,我需要在文档已签名时返回结果,否则我可以将用户移动到下一步。
下面是我的代码:
require_once($_SERVER["DOCUMENT_ROOT"]."setup.php");
global $result_sign;
$recipient_email = $_SESSION['EchoSign_Email_Document'];
$md5pdf_echosign = md5($_SESSION['EchoSign_Email_Document']) . ".pdf";
$filepath = $_SERVER["DOCUMENT_ROOT"].'/path_to_file/'.$md5pdf_echosign;
$file = EchoSign\Info\FileInfo::createFromFile($filepath);
$widget = new EchoSign\Info\WidgetCreationInfo('Agreement', $file);
$personalization = new EchoSign\Info\WidgetPersonalizationInfo($recipient_email);
try{
$result_sign = $api->createPersonalEmbeddedWidget($widget, $personalization);
}catch(Exception $e){
print '<h3>An exception occurred:</h3>';
var_dump($e);
}
像这样我显示结果
echo $result_sign->{'embeddedWidgetCreationResult'}->javascript;
我使用 AJAX 调用文件,如下所示:
$('#echosign_id').html('my_ecosign_file.php');
我将不胜感激。
我希望在用户签署文件后我想找出该文件已签署并检查是否已签署将用户移动到下一步。
我的 JS:
function FormSubmitBindStep4(){
$('#FormID input#input_id').unbind('click').bind('click', function(){
var obj = $(this);
$('.prior_dark_form_preloader').remove();
obj.hide();
$('.prior_form_error_input').removeClass('prior_form_error_input');
$('#terms_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#terms_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#5-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#6-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#7-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_1-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_2-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_3-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('#confirmation_4-styler .jq-checkbox__div.error_input').removeClass('form_error_input');
$('<img src="/preloader.GIF" class="prior_dark_form_preloader"/>').insertAfter(obj);
$(document).scrollTop(0, 1000);
if (actualStep < 4){
actualStep = 4;
}
$.ajax ({
type: "POST",
url: "/form_step_4.php",
data: { json: createJsonFromForm('FormIDStepValidation') }
}).done(function(data) {
$('.prior_dark_form_preloader').remove();
if (data == true){
$('#FormID').html('<iframe scrolling="no" src="/EchoSign.php" width="1150px" height="715px">',function(){
});
}else{
console.log("step 4", "incorrect");
obj.show();
$('.prior_form_error_input_anchor_php').remove();
var errors = jQuery.parseJSON(data);
for(error in errors){
Step1Validation(error, true, errors);
Step2Validation(error, true, errors);
Step4Validation(error, false, errors);
}
$( 'input' ).click(function() {
$(".input_anchor_php").hide();
});
}
});
return false;
});
}
谢谢。