2016-02-05 49 views
1

通过后我有这样检索在PHP阵列从角JS

$scope.kk = [ 
     { name:'Computer Architecture', price:65 }, 
     { name:'Advanced Composite Materials', price:45 }, 
     { name:'Stategies Unplugged', price:43 }, 
     { name:'Teaching Science', price:50 }, 
     { name:'Challenging Times', price:22 }]; 

我已经经历的WebAPI传递这个数组到我的控制器这样

 var req1= { 
         method: 'POST', 
         url: apiPoint.url + 'sin.php', 
         headers: { 
          'Content-Type': 'application/json' 
         }, 
         params :{ 
          "fulldet[]" : $scope.kk 
         } 
$http(req1).then(function (response) { 
        if (response.data.status) { 
         alert(JSON.stringify(response.data)); 
} 
} 

而在我的控制器的阵列我需要提取这个数组 我已经使用了这样的foreach语句

$result['ppp'] = $fulldet; 

foreach($fulldet as $e){ 
       $result['lm']=$e['name']; 
      } 

但我得到ILLEGAL STRING OFFSET 'name' 请帮助我。

对于我的参考I HV印刷我的阵列从控制器响应后背部。我知道它是这样的

{"ppp":[" 
      {\" name\":\"Computer Architecture\", \"price\":65 }, 
      {\" name\":\"Advanced Composite Materials\", \"price\":45 }, 
      { \"name\":\"Stategies Unplugged\", \"price\":43 }, 
      {\" name\":\"Teaching Science\", \"price\":50 }, 
      {\" name\":\"Challenging Times\", \"price\":22 }"]} 

回答

1

在尝试遍历数组apply json_decode到它之前。

$result['ppp'] = json_decode($fulldet, true); 

foreach($fulldet as $e){ 
    $result['lm']=$e['name']; 
} 
+0

它给这样的json_decode警告()预计参数1为字符串,因为 – athira

+0

请发表你如何在PHP接收数据,目前尚不清楚是什么问题阵列。听起来像你已经解析过数据。 –

-1

正如我现在看到的,您的问题是当您尝试获取服务器端的数据(对不起,以前的答案)。

您传递请求里面的参数应该是没有阵列

所以你改变了这个:

params :{ 
          "fulldet[]" : $scope.kk 
         } 

这样:

params :{ 
          "fulldet" : $scope.kk 
         } 

试图让您的POST数据是这样的:

$results = json_decode(file_get_contents('php://input),true); 

foreach($results as $item){ 
    echo $item['name']; 
} 
+0

谢谢先生。但我的实际问题是与控制器。 foreach($ fulldet as $ e){ $ result ['lm'] = $ e ['name']; }但是我得到了非法的STRING OFFSET'name'。如何解决这个问题? – athira

+0

你试过解析你的数据而不是把它们串起来吗? JSON.parse()来 –

+0

我已经发布数据这样头:{ '内容 - 类型': '应用/ JSON' }, PARAMS:{ “fulldet []”:$ scope.kk } – athira