2017-03-12 9 views
1

Angular Js Post HTTPメソッドを使用してHTMLコンテンツを取得しようとしました。これは、Pタグのようなテキストコンテンツのみを処理しています。しかし、テキストボックスのようなAngular JSを使ってInput型のHTMLコンテンツを取得したいのですが。 Ajax Load構文を使用すると、すべてのHTMLインクルード入力HTMLコンテンツも取得できます。HTMLを取得する方法Ajax LoadのようなAngular JSのHTTP Postを使用しています

コードJS:

$http.post("/user/users_data/about/bidata.php", 
{ 
    "type": "get", 
    "user": "<?php echo $_GET['u']; ?>" 
}).then(function(response) 
{ 
    $scope.bidata = response.data; 
}, function(error) 
{ 
}); 

HTMLコード:

<span ng-bind-html="bidata"></span> 

私はすでに上記のものを、次の追加。

var app = angular.module('userapp', ['ngSanitize']); 


app.controller('usercontroller', function($scope, $http) 

bidata.phpファイルのHTMLコード:

<div class="form-group row"> 
    <p class="col-2 col-form-label">Text</p> 
    <div class="col-10"> 
    <input class="form-control" type="text" value="Artisanal kale" > 
    </div> 
</div> 
<div class="form-group row"> 
    <p class="col-2 col-form-label">Search</p> 
    <div class="col-10"> 
    <input class="form-control" type="search" value="How do I shoot web" > 
    </div> 
</div> 

だけ私はテキストと検索PタグのHTMLコンテンツを取得することができます。

$ scope.bidata = $ sce.trustAsHtml(response.data);を使用すると、コンソールログにエラーが発生します。

ReferenceError: $sce is not defined 
    at ?u=aa:73 
    at angular.min.js:131 
    at m.$eval (angular.min.js:145) 
    at m.$digest (angular.min.js:142) 
    at m.$apply (angular.min.js:146) 
    at l (angular.min.js:97) 
    at J (angular.min.js:102) 
    at XMLHttpRequest.t.onload (angular.min.js:103) 
+0

の詳細については、コントローラの定義何を応答データをログコンソールか? – CaptainHere

+0

はuser38701 –

+0

にReferenceError @私の答えをチェックします。$ SCEがで に定義されていないuはAA =:?angular.min.jsで73 :。メートルで131 の$のeval(angular.min.js:145)メートルで を。 $(digest(angular.min.js:142) at m。$ apply(angular.min.js:146) at l(angular.min.js:97) at J(angular.min.js:102) at XMLHttpRequest.t.onload(angular.min.js:103) – user38701

答えて

2

2つのことを行う必要があります。

使用data-ng-bind-html=""と 使用$sce.trustAsHtml(string)

$http.post("/user/users_data/about/bidata.php", 
{ 
    "type": "get", 
    "user": "<?php echo $_GET['u']; ?>" 
}).then(function(response) 
{ 
    $scope.bidata =$sce.trustAsHtml(response.data); 
}, function(error) 
{ 
}); 

app.controller('usercontroller', function($scope, $http,$sec) 

sec

+0

$ sce.trustAsHtml(response.data)を置くと、何も得られません。 – user38701

+1

コンソールログにReferenceErrorと表示されます:$ sceが定義されていません – user38701

+0

コントローラで$ http、$ sceで定義する必要があります –

関連する問題