Javascript not working

时间:2015-07-04 作者:moin khan

这是我的js代码

var geoSearch = new google.maps.Geocoder;
jQuery(document).ready(function() {     
var address = FYN_search.postcode;      
if(jQuery.type( address ) === "string"){
    var region = \'Austria\';
    address = address + \', \' + region;
    geoSearch.geocode({\'address\':address,\'region\':region},function(results, status){
        if (status == google.maps.GeocoderStatus.OK) {
            var point = results[0].geometry.location;
            var data={
                action:\'filter_search\',
                lat:point.lat(),
                lng:point.lng()
            }

            jQuery.post(FYN_search.ajaxurl, data, function(returndata){
                console.log(\'ajax posting\');
                jQuery(\'#resulit\').html(returndata);                    
            });

        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
});
此代码将调用名为“filter\\u search”的方法(&;此方法在索引文件中的插件中定义

add_action(\'wp_ajax_filter_search\', \'filter_search_result\');

   function filter_search_result(){
           echo \'hello world\';
 }
但是为什么这个方法没有运行??

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

wp_ajax_{my-action} 操作挂钩仅用于管理端。对于前端,您必须使用wp_ajax_nopriv_{my-action}. 如果ajax操作适用于双方,则可以将两者结合起来。例如:

add_action(\'wp_ajax_filter_search\', \'filter_search_result\');
add_action(\'wp_ajax_nopriv_filter_search\', \'filter_search_result\');
另外,不要忘记,永远不要忘记在ajax操作结束时死亡或退出,因为WordPress不会在ajax请求时关闭程序,至少您可以使用wp_send_json 函数系列。

add_action(\'wp_ajax_filter_search\', \'filter_search_result\');
add_action(\'wp_ajax_nopriv_filter_search\', \'filter_search_result\');
function filter_search_result(){
    echo \'hello world\';
    exit;
}

结束

相关推荐

SSL中断定制器:页面未从AJAX返回

我使用Comodo SSL证书安装了WordPress。我有WordPress HTTPS plugin 已安装,我正在使用AZ主题,管理员设置为通过HTTPS加载。到目前为止还不错。在主题定制器上,我得到了一个永久加载图标(不要与WSOD混淆)。带回主页内容的AJAX调用为空,除了WP_CUSTOMIZER_SIGNATURE 代币这就是所有的回应。当我禁用WordPress HTTPS插件(或者禁用通过SSL加载管理员)时,定制器工作得很好。禁用/启用其他插件无效。这也发生在股票二十一五主题中(如下图