我有一个页面locations.aspx,它在locations.aspx/getData 中有一个方法。当我使用代码时
$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 调用标头是
请求网址:localhost:41796/locations.aspx/getData
请求方法:POST
状态码:200 OK
请求标头view source
接受:应用程序/json,文本/javascript,/;q=0.01
内容类型:应用程序/json;字符集=utf-8
Response Headersview source Cache-Control:private, max-age=0
连接:关闭
内容长度:270
内容类型:应用程序/json;字符集=utf-8
我的 $http 标头是
请求网址:localhost:41796/locations.aspx/getData
请求方法:GET
状态码:200 OK
请求标头视图已解析
获取 /locations.aspx/getData HTTP/1.1
主机:本地主机:41796
连接:保持活动
响应标头视图已解析
HTTP/1.1 200 正常
服务器:ASP.NET 开发服务器/10.0.0.0
缓存控制:私有
内容类型:文本/html;字符集=utf-8
内容长度:7177
连接:关闭