Jquery + AJAX + PHP - document.write无法执行第三方应用程序

时间:2014-07-24 07:08:04

标签: php jquery ajax

我在互联网上搜索了很多寻找解决方案,但没有任何帮助,我已经花了3天时间讨论这个问题并且没有提出解决方案。

我正在使用WordPress。我将Echo Sign API作为窗口小部件集成到我的网站中,当我使用ajax调用加载Echo Sign PHP file时,开始执行并停止并将其显示到控制台中:

  

无法在'Document'上执行'write':除非明确打开,否则无法从异步加载的外部脚本写入文档。 ?插件F = 9KIUFVC4Y524AZ&安培;标记= 7O3WZTIYLYT5FR7GCGLSQ3QP&安培; _ = 1406184564193:1

当我打开这个

widget?f=9KIUFVC4Y524AZ&token=7O3WZTIYLYT5FR7GCGLSQ3QP&_=1406184564193:1

内部就是这样,(实际上document.write导致问题):

document.write('<iframe src="https://secure.echosign.com/public/embedesignhtml?rdid=9KIUFVC4Y524AZ&token=7O3WZTIYLYT5FR7GCGLSQ3QP&hosted=false&firstName=&lastName=&nameEditable=true&" width="772" height="690" frameborder="0" style="border: 0; overflow: hidden; min-height: 500px; min-width: 600px;"></iframe>');

我找到了一些解决方案并且它们正在运行,但问题是当调用PHP文件时,它会自动生成一个脚本,并且该脚本从上面调用iframe,该脚本每次都包含唯一数据,因此我的静态解决方案不起作用。

下面我将提供我的代码,也许会有所帮助:

Ajax致电:

$('#my_id').html('').load('my_EchoSign.php', function(){

});

my_EchoSign.php

$file = EchoSign\Info\FileInfo::createFromFile($filepath);

$widget = new EchoSign\Info\WidgetCreationInfo('Test createPersonalEmbeddedWidget', $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;

实际上问题是在调用并执行php文件时启动,然后在#my_id插入一个调用document.write('<iframe>.....</iframe>')的脚本,并且由于document.write而失败。< / p>

请感谢任何帮助。

提前感谢你。

1 个答案:

答案 0 :(得分:0)

由于您使用document.write时遇到代码,请在my_EchoSign.php中加载iframe

$('#my_id').html('<iframe src="my_EchoSign.php"></iframe>');