Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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
Javascript x-可编辑的post值未定义_Javascript_Php_Jquery_X Editable - Fatal编程技术网

Javascript x-可编辑的post值未定义

Javascript x-可编辑的post值未定义,javascript,php,jquery,x-editable,Javascript,Php,Jquery,X Editable,我刚刚创建了一个x-可编辑表单: <a href='#' class='username' data-pk='<?php echo $key['idca']; ?>' data-type="text" data-placement="right"> <?php echo $key['categoryname']; ?> </a> $.fn.editable.defaults.success = function()

我刚刚创建了一个x-可编辑表单:

   <a href='#' class='username'
   data-pk='<?php echo $key['idca']; ?>'
   data-type="text"
   data-placement="right"> <?php echo $key['categoryname']; ?> </a>
    $.fn.editable.defaults.success = function() { $(this).show() };
    $.fn.editable.defaults.mode = 'inline';
    $('.username').editable({
        url:'edit.php',
        pk:'1',
        type:'text',
        send:'always',
        ajaxOptions:{
            dataType:'json'
        },
        success: function(response, newValue) {
            window.alert('oke');
        },
        error: function(response, newValue) {
            window.alert('failed');
        }
    });
在PHP中,我只创建如下内容:

<?php

 $pk = $_POST['pk'];
 $val = $_POST['value'];
 $name = $_POST['name'];

 print_r($_POST);

 ?>

但为什么我在窗口警报上收到消息“未定义索引主键、值、名称”,这意味着我无法从x-editable发布主键、值、名称


需要帮助,非常感谢您提供以下HTML

<a href="#" class="username"
    data-pk="<?php echo $key['idca']; ?>"
    data-type="text"
    data-placement="right"
>
    <?php echo $key['categoryname']; ?>
</a>

这应该行得通。您不需要执行
$.ajax({})自己编写。

有点晚,但在php端,当您响应时,应该使用json_encode,因为x-editable希望您返回json字符串

 $pk = $_POST['pk'];
 $val = $_POST['value'];
 $name = $_POST['name'];

 echo json_encode($_POST);
 die();

$.ajax({}).success()方法。改用
success
参数或
.done()
方法。为什么不
echo
ing变量,以便
msg
实际返回一些内容?另外,为什么不将任何对象传递给
$('.username').editable({})
,例如
url:
。使用此插件时,您不必自己进行Ajax调用。对不起,我确实使用了done函数,它显示了与successD4V1D正确相同的消息,传递pk、url、title inside editable()并检查。以下是提交表单后在何处回显PHP消息?使用AJAX对提交数据的PHP响应。单击“提交”按钮后没有显示任何内容您的意思是没有显示新值?是的,PHP方面没有响应。什么也没发生。我将提供一段代码,希望在我遇到同样的问题时能够做到这一点。您确定发出了Ajax请求吗?
 $pk = $_POST['pk'];
 $val = $_POST['value'];
 $name = $_POST['name'];

 echo json_encode($_POST);
 die();