【问题标题】:Wordpress wrong ajax responseWordpress 错误的 ajax 响应
【发布时间】:2015-12-04 11:11:54
【问题描述】:

我有一个与 ajax 相关的问题。有时它会得到正确的响应,但有时只返回 0。可能是什么问题?主机还是代码?

代码如下:

jquery:

$(document).ready(function(){
    //var cat =  $(".bear_image").children("img").attr("alt");
    var top = $("li");
    var icons = $(top).children(".icons").children("div");

    $(icons).click(function(){
        //var icon = $(this).attr("class");
        var item = $(this).attr("id");
        var bear_id = $(this).parents("li").find("> .bear_image img");

        var data = {
            'action' : 'get_image_name',
            'item' : item,
            'bear_id' : bear_id.attr('alt')
        };

        $.post(ajaxurl, data, function(response) {
            //alert('Got response from server: ' + response);
            $(bear_id).attr("src", response);
        });
    }); 
});

functions.php

function jj_get_images()
{
    global $wpdb; 

    $item = esc_attr($_POST['item']); 
    $bear_id = esc_attr($_POST['bear_id']); 
    $query = "SELECT * FROM wp_acc_img WHERE position = " . $item . " AND bearid = ". $bear_id;

    $result = $wpdb->get_row($query);
    $c = $result->num_rows;
    $upload_dir = wp_upload_dir();
    $var = $upload_dir['url'] . "/" .$result->img.".png";

    die($var);

    wp_die();


}
add_action('wp_ajax_get_image_name', 'jj_get_images');



function pluginname_ajaxurl() {
?>
<script type="text/javascript">
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
</script>
<?php
}
add_action('wp_head','pluginname_ajaxurl');

对我来说似乎没问题。问题是,有时它会返回完整的 url,它应该是怎样的,但有时它只返回 0 并且没有正确执行代码?你有什么建议吗?

感谢您的帮助:)

【问题讨论】:

  • 好吧,如果查询结果为空很明显没有返回 URl,请检查 $c 值并做出适当的响应

标签: php jquery ajax wordpress


【解决方案1】:

改变: $(icons).click(function(){

$(icons).click(function(e){
e.preventDefault();
});

注意:您当前的设置仅适用于登录用户, 对于任务,请使用 wp_ajax_nopriv 操作

add_action( 'wp_ajax_nopriv_get_image_name', 'jj_get_images');

【讨论】:

  • 如何让不仅登录的用户??
  • 现在它在您未登录时实际上可以工作。是否可以同时进行? :X
  • 同时使用wp_ajax_noprivwp_ajax
猜你喜欢
  • 2017-01-13
  • 2019-05-26
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多