Javascript Angular.js HTTP使用$routeParams获取

Javascript Angular.js HTTP使用$routeParams获取,javascript,php,angularjs,Javascript,Php,Angularjs,我在尝试使用Angular.js+PHP从数组中获取信息时遇到问题 其思想是:当用户转到/post/76(例如),脚本将获得ID并返回所有相关信息(标题、内容、视图等) $routeProvider carolvaladares.config(function($routeProvider) { $routeProvider. when('/post/:postId', { templateUrl : 'views/post.html',

我在尝试使用Angular.js+PHP从数组中获取信息时遇到问题

其思想是:当用户转到
/post/76
(例如),脚本将获得ID并返回所有相关信息(标题、内容、视图等)

$routeProvider

carolvaladares.config(function($routeProvider) {
    $routeProvider.
        when('/post/:postId', {
            templateUrl : 'views/post.html',
            controller  : 'postCtrl'
        })
});
控制器

carolvaladares.controller('postCtrl', function($scope, $http, $routeParams) {

    var postId = $routeParams.postId;

    $http.get("php/get-posts.php?id=" + postId).then(function (response) {
        $scope.post = response.data;
    });

});
PHP

提前谢谢

(已编辑)

排列

[
{
“id”:“76”,
“提特罗”:“美国胡萝卜蛋糕”,
“sub:”第二条职能指令手册,一份关于cenoura bolo de cenoura酒店的报告!“,
“corpo”:"在24小时内,你可以在一个没有雾气的地方享受一个传统的美国胡萝卜蛋糕。\r\n\r\nBora cozinhar!\r\nMassa&ndash;Ingredites:<2 xí;cara de farinha de trigo<1 xí;cara de aç;&汽车;汽车;汽车2xí;cara de ovo2xí;caras de cenoura ralada1\/2xí;cara de maç;ã;ralada<3 de xí;cara deó;leo<3 colheres de sopa deá;gua\r\n500克菲拉德尔菲亚1辆法国汽车o(9个polegadas)用喷雾器喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷,喷一喷一喷,喷一喷一喷,喷一喷一喷,喷一喷一喷一喷,喷一喷一喷一喷一喷一喷,喷一喷一喷一喷一喷一喷,喷一喷一喷一喷,喷一喷一喷一喷,喷一喷一喷一喷一喷,喷一喷一喷一喷一喷,喷一喷一喷一喷一喷,喷一喷一喷一喷一喷一喷一喷,喷一喷一喷一喷一喷一喷一喷一喷一喷一喷一喷一喷一喷一,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们,我的朋友们或者说是一种完整的乳酪。\r\nPara fazer a cobertura,com a Bate deira em Velocided mé;dia alta,bata os Ingredites da cobertura até;ficar homogê;neo.Recheie o bolo e cubra com o creme de creme de cream de cream de creme de cream cheese.\r\n&我可以想象你的愤怒,因为你用它来作为我的灵魂。\r\nDeixe esfrier e deposedestrua combolo deuso,
“colunista”:“denise”,
“鼻涕虫”:“美式佳肴\胡萝卜蛋糕”,
“缩略图”:“staff\/uploads\/2015\/denise-Materiala\u gastronomia3\u Carrot Cake\u cv.jpg”,
“标签”:“胡萝卜蛋糕、蛋糕、胡萝卜、赛诺拉、波洛、雷西塔、美式卡诺、埃斯塔多斯尤尼多斯、欧盟、美国、赛诺拉波洛”,
“来源”:“,
“数据”:“2015-12-22”,
“hora”:“13:00:00”,
“意见”:“56”,
“分类”:“美食”,
“aprovado”:“1”
}
]
(已编辑)


解决方案是
{post[0].x}
,对于HTML内容
ng bind HTML
以及依赖项
ngSanitize

,能否显示打印出的数组的外观?这将有助于调试

无论如何……我的第一个猜测是,当像这样访问数组时,您缺少了1级数组

post[0].title 
因为:
mysql\u fetch\u assoc
返回一个数组,然后将该数组放入一个数组中,并使用
json\u encode对其进行编码

我的第二个猜测是,您必须首先解析响应,就像它的JSON:do一样

$scope.post = JSON.parse(response.data);

如果请求一行不需要新的外部php数组,只需返回该行,该行将成为javascript对象……否则请尝试
{post[0].title}
@charlietfl,该行用于标题,但是{{post[0].body}}是一个HTML,它现在以纯文本形式打印……需要使用
ng bind HTML
..
{}
仅用于文本。请阅读有关ng bind html的文档,了解如何使用
$SCE
@charlietfl谢谢!使用ng bind html和依赖项ngSanitize它起作用了!
$http
将内部解析json。parse()返回了一个错误。但是post[0]。标题工作正常。谢谢!
[
   {
      "id":"76",
      "titulo":"Carrot Cake Americano",
      "sub":"Para esse Fim de Ano, aproveite essa receita maravilhosa de bolo de cenoura!",
      "corpo":"<p>Receitinha mara pra quem vai passar o dia 24 com a barriguinha no fog&atilde;o tipo eu. <strong>o\/<\/strong> Nada mais, nada menos que ele, o tradicional <strong>Carrot Cake Americano.<\/strong><\/p>\r\n<p><strong><img src=\"http:\/\/www.carolvaladares.com.br\/staff\/uploads\/2015\/materia_gastronomia3_carrotcake_cv.jpg\" alt=\"\" \/><\/strong><\/p>\r\n<h2>Bora cozinhar!<\/h2>\r\n<p><strong>Massa &ndash; Ingredientes:<\/strong> <br \/><strong>2<\/strong> x&iacute;caras de farinha de trigo <br \/><strong>1<\/strong> x&iacute;cara de a&ccedil;&uacute;car <br \/><strong>12<\/strong> x&iacute;cara de a&ccedil;&uacute;car mascavo <br \/><strong>2<\/strong> colheres de ch&aacute; de canela em p&oacute; <br \/><strong>1<\/strong> colher de ch&aacute; de noz-moscada <br \/><strong>2<\/strong> colheres de ch&aacute; de bicarbonato de s&oacute;dio <br \/><strong>1<\/strong> colher de ch&aacute; sal <br \/><strong>1\/2<\/strong> x&iacute;cara de passas <br \/><strong>1\/2<\/strong> x&iacute;cara de ovo <br \/><strong>2<\/strong> claras de ovos <br \/><strong>2<\/strong> x&iacute;caras de cenoura ralada <br \/><strong>1\/2<\/strong> x&iacute;cara de ma&ccedil;&atilde; ralada <br \/><strong>1\/3<\/strong> de x&iacute;cara de &oacute;leo <br \/><strong>3<\/strong> colheres de sopa de &aacute;gua quente<\/p>\r\n<p><img src=\"http:\/\/www.carolvaladares.com.br\/staff\/uploads\/2015\/materia_gastronomia_carrotcake_cv.jpg\" alt=\"\" \/><\/p>\r\n<p><strong>Cobertura &ndash; Ingredientes:<\/strong> <br \/><strong>500g<\/strong> de Filadelphia <br \/><strong>1<\/strong> x&iacute;cara de ch&aacute; de a&ccedil;&uacute;car de confeiteiro <br \/><strong>1<\/strong> colher de ch&aacute; de extrato de baunilha <br \/>Nozes para decorar<\/p>\r\n<p><strong>Modo de preparo:<\/strong> <br \/>&mdash; Pr&eacute;-aque&ccedil;a o forno a 250&ordm;C <br \/>&mdash; Pulverize duas bandejas de bolo redondo (9 polegadas) com spray de cozinha sem gordura. <br \/>&mdash; Misture a farinha, os dois tipos de a&ccedil;&uacute;car, canela, noz-moscada, bicarbonato de s&oacute;dio e sal em uma tigela m&eacute;dia. <br \/>&mdash; Bata o ovo e as claras em uma tigela grande. <br \/>&mdash; Adicione a cenoura, ma&ccedil;&atilde;, &oacute;leo e passas e &aacute;gua quente, mexendo at&eacute; misturar. <br \/>&mdash; Com uma esp&aacute;tula, adicione a mistura de farinha &agrave; mistura de cenoura e mexa at&eacute; misturar. <br \/>&mdash; Espalhe a massa uniformemente nas bandejas de bolo. <br \/>&mdash; Asse os bolos at&eacute; dourar cerca de 30-32 minutos.<\/p>\r\n<p>Deixe esfriar por 15 minutos. Retire os bolos da forma e deixe esfriar completamente.<\/p>\r\n<p>Para fazer a cobertura, com a batedeira em velocidade m&eacute;dia-alta, bata os ingredientes da cobertura at&eacute; ficar homog&ecirc;neo. Recheie o bolo e cubra com o creme de cream cheese.<\/p>\r\n<p><img src=\"http:\/\/www.carolvaladares.com.br\/staff\/uploads\/2015\/materia_gastronomia2_carrotcake_cv.jpg\" alt=\"\" \/><\/p>\r\n<p>Doce tem que ser bonito, por isso eu sempre fa&ccedil;o cobertura em bolo com bico de confeiteiro, da&iacute; vai da imagina&ccedil;&atilde;o de cada um. Pique as nozes ou use-as inteiras e jogue por cima.<\/p>\r\n<p>Deixe esfriar e depois se<strong> destrua<\/strong> com o <strong>bolo deuso!<\/strong><\/p>",
      "colunista":"denise",
      "slug":"gastronomia\/carrot-cake-americano",
      "thumbnail":"staff\/uploads\/2015\/denise-materia_gastronomia3_carrotcake_cv.jpg",
      "tags":"carrot cake, cake, carrot, cenoura, bolo, receita, americano, estados unidos, eua, usa, bolo de cenoura",
      "source":"",
      "data":"2015-12-22",
      "hora":"13:00:00",
      "views":"56",
      "categoria":"gastronomia",
      "aprovado":"1"
   }
]
post[0].title 
$scope.post = JSON.parse(response.data);