2016-07-25 80 views
0

我试图从我的“Customers”表中用php和angular删除一行。这是我得到的错误无法读取未定义错误的属性'splice'

“无法读取未定义的属性'splice'。

有人知道为什么吗?

这是我的代码:

控制器:

$scope.delete = function(deletingId, index) { 
     var params = $.param({"customer_id":deletingId}); 
     $http({ 
      headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
      url: 'http://localhost:8081/hamatkin/api/delete-customer.php/', 
      method: "GET", 
      data: params 
     }).success(function(data){ 
     console.log(data); 
     $scope.customerDetails = data; 
     $scope.customerDetails.splice(index, 1); 
     }); 
     } 

Customer.php

<?php 
class Customer { 

    private $table_name = "customers"; 

    public $customer_id; 
    public $kind_Of_Customer; 
    public $full_name; 
    public $id; 
    public $city; 
    public $address; 
    public $phone; 
    public $phone_2; 
    public $email; 
    public $fax; 
    public $referrer; 
    public $comments; 


} 

?> 

删除,customer.php

<?php header('Content-Type: text/html; charset=utf-8'); 
$connect=mysqli_connect("localhost", "root", "", "hamatkin"); 

    include_once 'Customer.php'; 

// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$customer = new Customer(); 


if(isset($_GET['customer_id'])){ 
    $customer_id = $_GET['customer_id']; 
    $del = "DELETE FROM posts WHERE customer_id='".$customer_id."'"; 
    mysql_query($connect, $del); 
} 


$newURL = "/hamatkin/#/customerCards"; 
header('Location: '.$newURL); 
?> 

HTML

<tr ng-repeat="x in customers | filter:search_query | orderBy: order_query:reverse_query"> 
      <td>{{ x.customer_id}}</td> 
      <td>{{ x.kind_Of_Customer}}</td> 
      <td>{{ x.full_name}}</td> 
      <td> {{ x.id}} </td> 
      <td> {{ x.city}} </td> 
        <td><a href="/hamatkin/index.html#/customerCardDetails/{{ x.customer_id}}" class="btn btn-primary btn- active">הצג פרטי לקוח </a></td> 
      <td><a ng-click="delete(x.customer_id, $index)" class="btn btn-primary btn- active">מחיקה</td> 
当我使用的console.log

(数据)

<br /> 
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Notice: Undefined variable: con in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>5</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>5</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0041</td><td bgcolor='#eeeeec' align='right'>256080</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysqli-query' target='_new'>mysqli_query</a> 
()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>5</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Notice: Undefined variable: con in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>6</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>6</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0069</td><td bgcolor='#eeeeec' align='right'>256088</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysqli-query' target='_new'>mysqli_query</a> 
()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>6</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Notice: Undefined variable: con in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>7</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>7</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0095</td><td bgcolor='#eeeeec' align='right'>256040</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysqli-query' target='_new'>mysqli_query</a> 
()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>7</td></tr> 
</table></font> 
<br /> 
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'> 
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64\www\hamatkin\api\delete-customer.php:6) in C:\wamp64\www\hamatkin\api\delete-customer.php on line <i>23</i></th></tr> 
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> 
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> 
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0005</td><td bgcolor='#eeeeec' align='right'>242216</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>0</td></tr> 
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0115</td><td bgcolor='#eeeeec' align='right'>257184</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.header' target='_new'>header</a> 
()</td><td title='C:\wamp64\www\hamatkin\api\delete-customer.php' bgcolor='#eeeeec'>...\delete-customer.php<b>:</b>23</td></tr> 
</table></font> 

回答

0

$scope.data没有被定义,从而该错误。它应该是,

.success(function(data){ 

      data.splice(index, 1); 
      $scope.customerDetails = data; 

     }); 

或者,

.success(function(data){ 
      $scope.customerDetails = data; 
      $scope.customerDetails.splice(index, 1); 
     }); 

如果数据不是一个数组,它不会工作。

我想它应该是,

.success(function(data){ 
      console.log(data); 

      $scope.customerDetails = data.data; 
      $scope.customerDetails.splice(index, 1); 
     }); 
+0

感谢我改你的建议,但现在它说:$ scope.customerDetails.splice不是函数 – tanyaa

+0

这是因为$ scope.customerDetails不是一个Array。你可以控制DATA发布并显示我的回复。 – Ved

+0

我不明白该怎么办? – tanyaa

0

这意味着你的$scope.data是不确定的。检查$scope.data是否具有值,并且在拼接之前是数组。

此外,我没有在您的代码中看到$scope.data。您在回调中获得的data可能是您需要拼接的一个。

+0

谢谢,我改变了代码,我有不同的错误$ scope.customerDetails.splice不是函数 – tanyaa

+0

意味着'$ scope.customerDetails'不是一个数组。你可以在'$ scope.customerDetails'上做一个'console.log'吗? – Srijith

+0

你的意思是控制台。日志($ scope.customerDetails)?并在哪里写它? – tanyaa

0

$ scope.data没有定义,这就是为什么它抛出这个错误 只使用数据

data.splice(index, 1);

+0

谢谢,我改变了什么@Ved说,现在我有错误 - $ scope.customerDetails.splice不是一个函数 – tanyaa

+0

要么你无法获取数据或你正在提取的数据不是一个数组,所以你首先记录数据。 –

+0

您正在获取整个页面而不是您正在获取的数据,尝试链接到后端而不是php页面。 –

相关问题