无法读取未定义错误的属性“拼接”

时间:2016-07-25 06:19:34

标签: php angularjs

我正在尝试使用php和angular从我的“Customers”表中删除一行。这是我得到的错误

  

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

有人知道为什么吗?

这是我的代码:

控制器:

$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>

3 个答案:

答案 0 :(得分: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);
        });

答案 1 :(得分:0)

这意味着您的$scope.data未定义。在进行拼接之前,请检查$scope.data是否有值并且是否为数组。

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

答案 2 :(得分:0)

$ scope.data未定义为什么它会抛出该错误 仅使用数据

data.splice(index, 1);