Javascript (Wordpress/AJAX):从前端更新附件标题、说明和alt

Javascript (Wordpress/AJAX):从前端更新附件标题、说明和alt,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,使用wordpress和AJAX,我试图从前端更新附件元数据。出于某些原因,我得到了json响应“NaN”或null。这是一个供登录用户使用的表单,因此我不使用wp\uajax\unopriv\uwp 在myfunctions.php中 add_action('wp_ajax_update_portfolio', 'update_portfolio_function' ); function update_portfolio_function(){ $id = $_POST['pid']

使用wordpress和AJAX,我试图从前端更新附件元数据。出于某些原因,我得到了json响应“NaN”或null。这是一个供登录用户使用的表单,因此我不使用
wp\uajax\unopriv\uwp

在myfunctions.php中

add_action('wp_ajax_update_portfolio', 'update_portfolio_function' );
function update_portfolio_function(){
    $id = $_POST['pid'];
    $title = $_POST['itemtitle'];
    $description = $_POST['itemdescription'];
    $attachment = array(
        'ID' => $id,
        'post_title' => $title,
        'post_content' => $description
    );
    // now update main post body
    wp_update_post( $attachment );
    die();

    $response = array('pid'=>$id,'title'=>$title);
    echo wp_send_json($response);
    exit;
}
在我的jQuery/AJAX中,我有:

function update_info(id, itemtitle, itemdescription)
{
    jQuery.ajax({
        method: 'post',
        url : ajaxurl,
        dataType: "json",
        data: {
            'action':'update_portfolio_function',
            'pid' : id,
            'itemtitle' : itemtitle,
            'itemdescription' : itemdescription,
        },
        success:function(data) {
            alert(data.pid + data.title); //Damn
        },
        error: function(errorThrown){
            console.log(errorThrown);
        }

    });
      //alert("a");
}
作为回应,我想检查
id
title
是否已正确提交。如你所见,我正在使用警报打印它们。值被很好地传递到jQuery函数中,但我不认为它们是从我的php端收到的(或处理得不好),因为我在
data.pid
data.title
上得到了“NaN”作为响应。你能帮我吗

编辑 我的请求详情


我的错。这里的疏忽:

add_action('wp_ajax_update_portfolio', 'update_portfolio_function' );
应该是

add_action('wp_ajax_update_portfolio_function', 'update_portfolio_function' );
固定的