0
我有一个表单在我的WordPress页面上发送提交数据到第三方服务表单提交。表单使用Gravity Forms提交后的API钩子(http://www.gravityhelp.com/documentation/page/Gform_after_submission),尽管这不是错误的原因。传递参数add_action和do_action抛出错误'第一个参数预计是一个有效的回调'
我已经出现在加载我的网站下面的错误由于有我的JavaScript参数传递一个问题:
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'aoExtPost' was given in /home2/jcollins/public_html/wp-includes/plugin.php on line 429
我有我的WordPress主题的functions.php文件中:
if (function_exists('load_aoExtPost')) {
function load_aoExtPost() {
if (!is_admin()) {
wp_register_script('ExtPost', get_template_directory_uri() . '/teravoxel/js/ExtPost.js', array(), '0.1', true);
wp_enqueue_script('ExtPost');
}
}
}
//extPostUrl is the argument to pass
$extPostUrl = 'http://www.---webservice---/eform/3122/0027/d-ext-0002';
add_action('gform_after_submission_1', 'ExtPost', 10, 2);
do_action('gform_after_submission_1', $extPostUrl, $entry);
这是被引用的JavaScript的内容:
function aoExtPost(extPostUrl) {
//generate iframe via some echoed out javascript
var aoUrl = extPostUrl;
var aoUrlStr = aoUrlA.toString();
var aoIfrm = document.createElement('iframe');
aoIfrm.setAttribute('id', 'ifrm');
aoIfrm.style.display='none';
aoIfrm.style.width='0px';
aoIfrm.style.height='0px';
aoIfrm.src = aoUrlStr;
document.body.appendChild(aoIfrm);
};
如果我用一个简单的PHP函数替换上面的JS文件引用,只是为了测试functions.php中的参数传递,它会起作用。有人能告诉我哪里出错了吗?
目的是采取$ extPostUrl的内容,并将其移动到JS生成的iframe的源的查询字符串(这是我如何将数据传递给该第三方服务)