无法将参数从ajax传递给php

时间:2014-07-07 10:01:42

标签: javascript php ajax parameter-passing

我已经使用Jquery UI来更新我的表位置。它运行正常。但现在我想将参数从ajax传递给php,以使用当前表位置更新我的数据库。但是我得到了$('#widget')。html(data.html); typeerror:data = null。并且无法将参数从ajax传递到php.In firebug我可以看到参数正在传递,但为什么我不能将它用于我的php文件不知道。我甚至尝试回应更新语句,但它没有回应。 这是我的代码: Js代码:

 $("#widget_update").sortable({    

       update: function() {        

        var widget = $(this).sortable("serialize") + '&action=updatewidget';

        //var element_id1 = ui.item[0].id;
        //alert(element_id1);      

        $.ajax({
        type: "POST",
        url: "ajax/dashboard.php",
        dataType : 'json',
        cache: false,
        data: {'aktion' : 'show-widget','new_widget':widget},
        success: function(data){            
            $('#widget').html(data.html);                           
        },
        error: function(data){
            alert('Error');         
        }
        });
      }
}); 

php代码:

if($param['aktion'] == 'show-widget')
{   
    $page['button'] = array(
    1 => array( 'Add Widget','pfeil2r','',"'#'",'','','addwidgetId'),
    2 => array( 'Remove Widget','pfeil2r','',"'#'",'','','removewidgetId'), 
    );

    $action                 = mysql_real_escape_string($_POST['action']); 
    $updateRecordsArray     = $_POST['recordsArray'];
    print_r($action);

    if ($action == "updatewidget"){

      $position = 1;
      foreach ($updateRecordsArray as $widget_id) {     
    echo $sql="Update dashboard_widget_users inner join dashboard_widget on dashboard_widget_users.dsnr_dashboard_widget=dashboard_widget.ID
               set dashboard_widget_users.position=".$position." 
               where dashboard_widget.id=".$widget_id." 
               and dashboard_widget_users.dsnr_yw_user=10";                                                                              
         $sql_update=mysql_query($sql);     
         $position = $position + 1;     
        }
    }                                   
    $html= '<table width="538" cellspacing="0" cellpadding="0" border="0" >
                                        <tr>
                                            <td>
                                          <table id="widget">
                                                <td>

                                                </td>
                                            </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td colspan="2">
                                                '.CreateButton($page['button']).'
                                            </td>
                                        </tr>                                       
                                    </table>';                        
    $return = array(
            'status' => 1,
            'html'  => $html
        );

    echo json_encode($return);
    die();
}

?>

1 个答案:

答案 0 :(得分:1)

$.ajax({代码块中:

而不是:

data: {'aktion' : 'show-widget','new_widget':widget},

尝试使用:

data:'aktion=show-widget&new_widget='+widget,

希望有所帮助!如果您有任何问题,请告诉我们!