Кто-то до сих пор в этом заинтересован?
Я только что проверил на своем веб-сайте тест на объединение Angular, Jsonp и CodeIgniter, и он отлично работает.Но я обеспокоен последствиями для безопасности.
Если у кого-то есть рекомендации по этому поводу, я буду благодарен
Вместо отправки параметров непосредственно на URL контроллера, как здесь:
public function getObjectJson($page=null,$limit=null,$search=null){
if($page==null||$page<1){
$page=1;
}
if($limit==null||$limit<1){
$limit=10;
}
$objects=$this->Objects_model->getObjectsJson($page,$limit,$search);
echo $objects;
}
Отправьте их в URL как запрос и получите их соответствующим методом в контроллере:
public function getObjectsJsonp(){
$page=$this->input->get('page');
if($page==null||$page<1){
$page=1;
}
$limit=$this->input->get('limit');
if($limit==null||$limit<1){
$limit=10;
}
$search=$this->input->get('search');
$objects=$this->Objects_model->getObjectsJson($page,$limit,$search);
$var=$this->input->get('json_objectCallback');
echo $var.$objects;
}
А на моей фабрике Angular строка URL-адреса задается как запрос
objectsApp.factory('objectsFactory', ['$http',function($http) {
return {
getObjectsP: function(p1,p2,p3) {
//The callback function is harcoded and the prarmeters comes from the angular controller
return $http.jsonp("<?=base_url()?>Objects/getObjectsJsonp/?callback=json_objectCallback&page="+p1+"&limit="+p2+"&search="+p3).then(function(result) {
objects = result.data;
console.log(objects);
return objects;
});
}
}]);
Надеюсь, это поможет.