2016-07-25 133 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頁面。 –

相關問題