WordPress 플러그인에서 nonce를 사용하려고합니다. 나는 nonce를 사용하기를 원하는 양식을 가지고있다. PHP에서WordPress Plugin의 Ajax와 함께 Nonce 사용
:
jQuery.post(the_ajax_script.ajaxurl, {my_nonce : the_ajax_script.my_nonce}, jQuery("#theForm").serialize() + "&maxLat="+ csf_dcscore_crime_map_bounds[0] + "&maxLong="+ csf_dcscore_crime_map_bounds[1] + "&minLat="+ csf_dcscore_crime_map_bounds[2] + "&minLong="+ csf_dcscore_crime_map_bounds[3],
function(response_from_the_action_function){
jQuery("#response_area").html(response_from_the_action_function);
});
내가 jQuery를 올바르게 비표를 게시 오전 : JQuery와 파일에서
function csf_enqueue() {
//I have other scripts enqueued in htis function
wp_enqueue_script('my-ajax-handle', plugin_dir_url(__FILE__).'file-path', array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker', 'google-maps'));
$data = array(
'ajax_url' => admin_url('admin-ajax.php'),
'my_nonce' => wp_create_nonce('myajax-nonce')
);
wp_localize_script('my-ajax-handle', 'the_ajax_script', $data);
}
add_action('wp_enqueue_scripts', 'csf_enqueue');
add_action('wp_ajax_the_ajax_hook', 'the_action_function');
add_action('wp_ajax_nopriv_the_ajax_hook', 'the_action_function');
? PHP에서
:
function the_action_function() {
if(! wp_verfiy_nonce($nonce, 'myajax-nonce')) die ('Busted!');
//function continues
어떤 제안이? nonce 관련 모든 코드를 제거하면 모든 것이 잘 동작합니다. 왜 작동하지 않는지에 대한 아이디어가 있습니까? 아니면 어떻게 디버깅 할 수 있습니까? 고맙습니다!
감사합니다.
안녕 sbrajesh 도움이 될 것입니다
jQuery.post의 문서에서의 모양과 wp_verfiy_nonce와
을 대체 할 수 있습니다. 내가 제안한 코드를 변경했습니다. 나는 또한 'ajaxurl'에서 밑줄을 제거했다. 불행히도 "치명적인 오류 : 정의되지 않은 함수 wp_verfiy_nonce()"를 호출합니다. 어떤 이유로 든 함수가 시간에로드되지 않은 것처럼 들립니다. 어떤 아이디어? 고맙습니다 ! – Laxmidi
wp_verify_nonce에서 철자가 잘못되었습니다. 잘못된 타이핑. 고맙습니다! – Laxmidi
작동하는지 확인하십시오. 그것은 않으면되지 변화 '$ 데이터 = 배열 ( 'ajax_url '=> ADMIN_URL ('관리-ajax.php ') 'my_nonce '=> wp_create_nonce ('myajax-난스 ') )' '$ 데이터 = 배열 ( 'ajaxurl '=> ADMIN_URL ('관리-ajax.php ') 'my_nonce '=> wp_create_nonce ('myajax-난스 ') )하는 단계; ' 또는 내 코드에서'ajaxurl'을 데이터에서와 같이'ajax_url'로 대체하십시오. – sbrajesh