Leaflet Map插件短代码在ajax调用函数内无效:Wordpress

时间:2018-06-19 05:50:53

标签: ajax wordpress leaflet

我在我的网站中使用wordpress插件传单地图:https://wordpress.org/plugins/leaflet-map/。 这些地图在所有其他页面中都正常加载,但是有一个特殊情况,我在ajax调用请求上调用传单短代码,这里的地图是空白的。

  

这是我的ajax功能:

  function show_search_listing() {
        var pageurl = jQuery("#pageUrl").text();
        var datastring = jQuery("#seractListingFrm").serialize();
        jQuery.ajax({
            url: pageurl,
            type: "POST",
            data: datastring,
            success: function(data) {
                jQuery("customClass.et_pb_row_1").html(data);
            },
            error: function(xhr, status, error) {
                alert("An error has occurred");
                return false;
            }
        });
}

我从下面的表单中调用这个ajax函数,

  <div class="adv-search">
    <span id="pageUrl" style="display:none">' . site_url() . '/wp-content/themes/site/ajax-listing-search.php</span>
    <form action="#" id="seractListingFrm" name="seractListingFrm" method="POST">
        <div id="search_div">
            <input name="search_text" placeholder="State, City, Zip" id="search_text" type="text" class="seacrhinp">
            <input type="button" name="serchBtn" class="serchBtn" onclick="show_search_listing()">
        </div>
        ' . $searchHeaders . '
    </form>
</div>

我在我的ajax-listing-search.php文件中调用了传单短代码,比如,

$output_2 .= '<div class="rowcol">
               <div class="ft-image">
            ' . do_shortcode("[leaflet-map height=250 width=250 lat=44.67 lng=-63.61 zoom=5]") . '
     </div>
</div>';

return $output_2;

但是,以上是返回空白地图。请任何人帮忙吗?

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题。我已经做了以下事情:

  1. 我在输出中使用了echo
  

echo $ output_2;

  1. 我允许浏览器调用https://unpkg.com,在该处动态地宣传传单样式和脚本。 (诸如NoScript之类的工具可以阻止该请求。)另一种解决方案是在本地托管传单。