0

我正在尝试在我们的 ajax 上发布更新用户元数据的请求(这不是与 wordpress 相关的问题)。我这样做的方式是,我使用带有 .position 的 jquery 可拖动 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();
}

有什么我做错了吗?还有其他建议吗?提前致谢

4

2 回答 2

2

internal 500 可能意味着您的 PHP 代码中有语法错误/其他致命错误。
如评论中所述,您的if陈述在括号中。

您应该做的是打开 Apache 错误日志,问题会非常好地出现,供您修复。

于 2013-04-18T16:22:51.350 回答
2

您的 if 语句在empty调用后缺少几个右括号:

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'])) {
于 2013-04-18T16:34:24.293 回答