我试图在我们的ajax上发布更新用户元的请求(这不是与wordpress相关的问题)。我这样做的方式是,我使用带有.position的jquery draggable UI来检索position.top数字,在stop()我调用了将值发布到ajax文件的函数。由于某种原因,它返回500内部错误并使我们的ajax文件对所有其他函数无效。
这是第一步 $(document).ready(function(){
$(".top_image_roll").hide();
$(".five img").draggable({
axis: "y",
// Find original position of dragged image.
start: function(event, ui) {
// Show start dragged position of image.
var Startpos = $(this).position();
},
// Find position where image is dropped.
stop: function(event, ui) {
// Show dropped position.
var Stoppos = $(this).position();
update_image_coords_1(Stoppos.top);
}
});
});
</script>
<?php } else { ?>
<?php }?>
这是功能
function update_image_coords_1(coordss) {
$.post('http://xxx/xxx/xxx/xxx/ajax.php',
{
'action': 'update_image_coords_1',
'coords': coordss,
'user_id': '<?php echo $user_id; ?>'
}
);
}
这是在ajax文件
if( !empty($_REQUEST['action']) && $_REQUEST['action'] == 'update_image_coords_1' && !empty($_REQUEST['user_id']) && !empty($_REQUEST['coords'])) {
$coords = $_REQUEST['coords'];
update_user_meta($_REQUEST['user_id'], 'update_image_coords_1', $coords);
die();
}
我做错了吗?还有其他建议吗?提前谢谢
答案 0 :(得分:2)
internal 500可能意味着您的PHP代码中存在语法错误/其他致命错误
正如评论中所述,您的if
声明是一堆乱七八糟的。
您应该做什么,打开Apache错误日志,问题将非常简单地为您解决。
答案 1 :(得分:2)
在empty
来电之后,您的if语句缺少几个右括号:
if( !empty( $_REQUEST['action']) && $_REQUEST['action'] == 'update_image_coords_1' && !empty($_REQUEST['user_id'] && !empty($_REQUEST['coords']) {
应该是:
if( !empty( $_REQUEST['action']) && $_REQUEST['action'] == 'update_image_coords_1' && !empty($_REQUEST['user_id']) && !empty($_REQUEST['coords'])) {