插件中的AJAX调用返回的比JSON更多

时间:2015-02-06 作者:Requin Creative

我有一个插件tat extendeds Gravity Forms,由一个PHP文件和一个JS文件组成。

可以在以下位置找到PHP文件:http://pastebin.com/VUX5AfLP

JS文件可在此处找到:http://pastebin.com/CTjQEKzY

我试图使用带有回调的WP-AJAX返回json编码的结果来填充我的重力表单。

我遇到的问题是,我没有将JSON编码的对象返回到AJAX回调,而是得到了整个injuryFilter();来自的函数<script></script> 像这样的标签in addition to the json_encoded output:

<script>
        injuryFilter = function () {

var injuryClass = ".injury-list select";
var minClass = ".min-value input";
var maxClass = ".max-value input";
var results;

    jQuery(injuryClass).on("change", function () {
    var injurySelect = jQuery(this);
    injury = injurySelect.val();

            if (injury != \'\') {
                        var data = {
                    \'action\': \'get_injury_data\',
                    \'id\': injury
                };

                    jQuery.post(\'http://10.200.152.19/courses/wp-admin/admin-ajax.php\', data, function(response) {

                                                console.log(response);
                                                //alert("Done");



                                                //results = jQuery.parseJSON( response );
                                                //alert(response[0].min);

                    //  jQuery(minClass).val(response.min);
                    //  jQuery(maxClass).val(response.max);

                    });

                }
    });



}

</script>




[{"min":"100000","max":"150000"}]
虽然这是我第一次涉足AJAX和Wordpress插件,但我确信我做错了什么,或者在错误的地方。

我只是想得到AJAX的回应,以便能够使用它。如果我的文件或函数不合适,请具体说明我哪里出错了。

谢谢

1 个回复
最合适的回答,由SO网友:Requin Creative 整理而成

将其包装到函数中,然后添加以下内容可以达到目的:

add_action( \'wp_footer\', \'my_ajax_script\' ); // Write our JS below here 这就是一切

结束

相关推荐

加载AJAX后OWL旋转木马无法工作

我使用jquery 1.11和这段代码在侧栏中ajax加载wordpress帖子内容。一切都很好,但owl carousel的jquery功能不起作用,帖子内容中的carousel没有显示任何内容。用于加载帖子内容的ajaxify代码:jQuery(document).ready(function($){ $.ajaxSetup({cache:false}); $(\".post-link\").click(function(){ var post_link = $(thi