location.aspx/getData の背後にあるメソッドを持つページ locations.aspx があります。コードを使用するとき
$http.jsonp($scope.url)
.success(function (data, status, headers, config) {
alert(data);
}).error(function (data, status, headers, config) {
$scope.status = status;
});
$scope.url が locations.aspx/getData の場合、aspx ページの html ページをロードしますが、メソッドにはアクセスしません。を使用してメソッドにアクセスできます
$.ajax({
type: "POST",
url: $scope.url,
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (p) {
var temp = $.parseJSON(p.d);
$scope.allItems.push(temp);
},
error: function () {
alert('error');
}
});
ただし、ビュー側でデータが更新またはバインドされることはありません。htmlの例は
<select ng-model="selectLocation" id="selectLocation" ng-change="onLocationChange()">
<option></option>
<option ng-repeat="l in allItems">{{l.location}}</option>
</select>
ajax 呼び出し allItems 配列にはアイテムが含まれていますが、ビューは更新されません。
私のajax呼び出しヘッダーは
リクエスト URL:localhost:41796/locations.aspx/getData
リクエスト方法:POST
ステータスコード:200 OK
Request Headersソースを見る
Accept:application/json, text/javascript, / ; q=0.01
コンテンツ タイプ:アプリケーション/json; 文字セット=utf-8
Response Headersview source Cache-Control:private, max-age=0
接続:閉じる
コンテンツの長さ:270
コンテンツ タイプ:アプリケーション/json; 文字セット=utf-8
そして私の $http ヘッダーは
リクエスト URL:localhost:41796/locations.aspx/getData
リクエスト方法:GET
ステータスコード:200 OK
リクエスト Headersview が解析されました
GET /locations.aspx/getData HTTP/1.1
ホスト: ローカルホスト:41796
接続: キープアライブ
応答ヘッダービューが解析されました
HTTP/1.1 200 OK
サーバー: ASP.NET 開発サーバー/10.0.0.0
キャッシュ制御: プライベート
コンテンツ タイプ: テキスト/html; 文字セット=utf-8
コンテンツの長さ: 7177
接続: 閉じる