【发布时间】: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 值并做出适当的响应