Javascript 将wp_localize_script()对象传递到js文件时出现jshint错误
我试着点击一个按钮并得到回应 这是按钮Javascript 将wp_localize_script()对象传递到js文件时出现jshint错误,javascript,ajax,wordpress,Javascript,Ajax,Wordpress,我试着点击一个按钮并得到回应 这是按钮 $output .= '<div class="col-md-12">'; $label = __( 'More Stories', 'everstrap' ); $output .= "<button type='buttn' class='button_two load-more-btn'>{$label}</button>"; $output .= '</div>'; 现在,JS文件代
$output .= '<div class="col-md-12">';
$label = __( 'More Stories', 'everstrap' );
$output .= "<button type='buttn' class='button_two load-more-btn'>{$label}</button>";
$output .= '</div>';
现在,JS文件代码如下:
$script_data_array = array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'load_more_posts' ),
);
wp_localize_script( 'everstrap-scripts', 'ajaxobj', $script_data_array );
window.EStrap = (function (window, document, $, undefined) {
'use strict';
var app = {
init: function () {
console.log('Working');
$(window).on('scroll', app.handleSticky);
$('.hamburger-btn').on('click', app.toggleNavDrawer);
$('.nav-drawer-close').on('click', app.closeNavDrawer);
$('.load-more-btn').on('click', app.loadMoreStories);
},
loadMoreStories:function(){
var page = 2;
var data = {
'action': 'load_posts_by_ajax',
'page': page,
'security': ajaxobj.security
};
$.post(ajaxobj.ajaxurl, data, function(response) {
if($.trim(response) !== '') {
$('.load-more-stories').append(response);
page++;
} else {
$('.load-more-btn').hide();
}
});
},
handleSticky:function () {
if ($(window).scrollTop() > 600) {
$('#main-nav').addClass('sticky-header');
} else if ($(window).scrollTop() < 300) {
$('#main-nav').removeClass('sticky-header');
}
},
toggleNavDrawer:function () {
var $nav_drawer = $('#nav-drawer');
$nav_drawer.toggleClass('open');
},
closeNavDrawer:function () {
var $nav_drawer = $('#nav-drawer');
$nav_drawer.removeClass('open');
}
};
$(document).ready(app.init);
return app;
})(window, document, jQuery);
window.EStrap=(函数(窗口,文档,$,未定义){
"严格使用",;
变量应用={
init:函数(){
console.log('Working');
$(window.on('scroll',app.handleSticky));
美元('click',app.toggleNavDrawer');
$('nav drawer close')。在('click',app.closeNavDrawer')上;
$('.LoadMore btn')。在('click',app.loadMoreStories');
},
loadMoreStories:function(){
var-page=2;
风险值数据={
“操作”:“通过ajax加载帖子”,
“页面”:页面,
“安全性”:ajaxobj.security
};
$.post(ajaxobj.ajaxurl、数据、函数(响应){
如果($.trim(响应)!=''){
$('.load more stories')。追加(响应);
page++;
}否则{
$('.load more btn').hide();
}
});
},
handleSticky:函数(){
如果($(窗口).scrollTop()>600){
$(“#主导航”).addClass('sticky-header');
}else if($(窗口).scrollTop()<300){
$(“#主导航”).removeClass('sticky-header');
}
},
toggleNavDrawer:函数(){
变量$nav_抽屉=$('nav抽屉');
$nav_drawer.toggleClass('open');
},
closeNavDrawer:函数(){
变量$nav_抽屉=$('nav抽屉');
$nav_抽屉。移除类(“打开”);
}
};
$(文档).ready(app.init);
返回应用程序;
})(窗口、文档、jQuery);
现在,当我保存更改时,我从jshint中看到了以下错误
assets/js/scripts.js
17 |“安全”:ajaxobj.security
^未定义“ajaxobj”。
19 |$.post(ajaxobj.ajaxurl、数据、函数(响应){
^未定义“ajaxobj”
为什么这里无法访问ajaxobj,我如何解决它?请在本地化之前正确检查wp\u enqueue\u脚本(“everstrap-scripts”)。I 已经检查过,这是正常工作。请检查您的代码应该如下所示
wp_enqueue_script( 'everstrap-scripts', get_template_directory_uri() .
'/assets/js/everstrap_scripts.js' );
//}
$script_data_array = array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'load_more_posts' ),
);
wp_localize_script( 'storefront-homepage', 'ajaxobj', $script_data_array );
之后,使用console.log在js代码中添加检查
window.EStrap = (function (window, document, $, undefined) {
'use strict';
console.log('ajaxobj.security' + ajaxobj.security);
})(window, document, jQuery);