Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress Ajax始终返回0_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Php Wordpress Ajax始终返回0

Php Wordpress Ajax始终返回0,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,因此,我尝试创建一个表单,验证url是否动态存在,并且Wordpress ajax调用始终返回0时遇到问题。我也已经研究了大约3个小时了,这对我来说似乎没有任何效果,这可能是一个愚蠢的问题。以下是我迄今为止所做的工作: 我有一个按钮: <input id="analyze"type="button" class="analyze-button" value="Analyze"> 以下是我添加ajax挂钩的方式: add_action( 'wp_ajax_nopriv_checkUr

因此,我尝试创建一个表单,验证url是否动态存在,并且Wordpress ajax调用始终返回0时遇到问题。我也已经研究了大约3个小时了,这对我来说似乎没有任何效果,这可能是一个愚蠢的问题。以下是我迄今为止所做的工作:

我有一个按钮:

<input id="analyze"type="button" class="analyze-button" value="Analyze">
以下是我添加ajax挂钩的方式:

add_action( 'wp_ajax_nopriv_checkUrl', 'checkUrl' );
add_action( 'wp_ajax_post_checkUrl', 'checkUrl' );

function checkUrl(){
    echo "I works1";
    if(defined('DOING_AJAX') && DOING_AJAX){
        echo "I work";
    }

    echo "I works";
    die();
}
这就是我将脚本放入队列的方式:

function ajax_contact(){
    wp_enqueue_script('ajaxcontact', get_template_directory_uri() .'/templates/ajaxcontact.js', array('jquery'), '1.0', true);
    wp_localize_script('ajaxcontact', 'checkurl', array(
        'ajax_url' => admin_url( 'admin-ajax.php' )
    ));
}
add_action('wp_enqueue_scripts', 'ajax_contact');
最后两段代码片段来自function.php

我做错了什么?我尝试了很多东西,但到目前为止运气都不好

是指向我拥有表单的页面的链接。它现在是一个测试页面。也许这有帮助

不要忘记事后停止执行

wp_die()

不要忘记事后停止执行


wp_die()

我看不到任何明显的东西,可能尝试将
checkUrl
重命名为
check\u-url
@IgorJerosimić第一次是“check\u-url”,然后我重新命名了几次,认为可能是这导致了它。@IgorJerosimić我编辑了这篇文章以包含表单的链接,也许我遗漏了什么。嗯,目前,它返回
I works1
,因此看起来它可以正常工作。:)@IgorJerosimić我想这是因为浏览器。我又开了一个,它成功了。也许是因为饼干的缘故。你知道如何让它在chrome上工作吗?我清除了cookies并刷新了几次页面。我看不到任何明显的东西,可能尝试将
checkUrl
重命名为
check_-url
@IgorJerosimić,第一次它是“check_-url”,然后我重命名了几次,认为这可能是造成它的原因。@IgorJerosimić我编辑了这篇文章以包含表单的链接,也许我遗漏了什么。好吧,目前它返回
I works1
,所以看起来它可以工作。:)@IgorJerosimić我想这是因为浏览器。我又开了一个,它成功了。也许是因为饼干的缘故。你知道如何让它在chrome上工作吗?我清除了cookies并刷新了页面几次。
function ajax_contact(){
    wp_enqueue_script('ajaxcontact', get_template_directory_uri() .'/templates/ajaxcontact.js', array('jquery'), '1.0', true);
    wp_localize_script('ajaxcontact', 'checkurl', array(
        'ajax_url' => admin_url( 'admin-ajax.php' )
    ));
}
add_action('wp_enqueue_scripts', 'ajax_contact');