Javascript 如何访问angularjs回调结果jsonp
我有一个WMS查询,url如下 此url返回JSON结果Javascript 如何访问angularjs回调结果jsonp,javascript,jquery,json,angularjs,Javascript,Jquery,Json,Angularjs,我有一个WMS查询,url如下 此url返回JSON结果parseResponse(…JSON… 我想创建angularjs$HTTPJSONP,但它不起作用 function appCtrl($scope, $http){ function parseResponse(data) { $scope.data = data } var httpOptions = { url: "http://giswebservices.massgi
parseResponse(…JSON…
我想创建angularjs$HTTPJSONP,但它不起作用
function appCtrl($scope, $http){
function parseResponse(data) {
$scope.data = data
}
var httpOptions = {
url: "http://giswebservices.massgis.state.ma.us/geoserver/wms?VERSION=1.1.1&LAYERS=massgis:GISDATA.ACECS_POLY&SRS=EPSG:26986&BBOX=11830.0,776202.9449152543,348201.0,961492.0550847457&WIDTH=708&HEIGHT=390&INFO_FORMAT=text/javascript&FEATURE_COUNT=10&QUERY_LAYERS=massgis:GISDATA.ACECS_POLY&X=120&Y=109&FORMAT&STYLES=&SERVICE=WMS",
method: "JSONP",
params : {
REQUEST: 'GetFeatureInfo',
},
};
$http(httpOptions).
success(function(data){
console.log(data);
$scope.data = data;
}).
error(function(data){
console.log(data);
});
}
这会产生错误“未定义parseResponse”,但我定义了该函数以下是如何使用
jsonp
访问AngularJS回调结果:
我删除了url上的一个重要参数(它是
REQUEST=GetFeatureInfo
),并将其包含在jsonp
函数调用的params参数中,以显示params
参数是如何传递的示例。您可以尝试在params中设置格式选项,因为angularjs的默认回调函数名是JSON\U回调
var httpOptions = {
url: "http://giswebservices.massgis.state.ma.us/geoserver/wms?VERSION=1.1.1&LAYERS=massgis:GISDATA.ACECS_POLY&SRS=EPSG:26986&BBOX=11830.0,776202.9449152543,348201.0,961492.0550847457&WIDTH=708&HEIGHT=390&INFO_FORMAT=text/javascript&FEATURE_COUNT=10&QUERY_LAYERS=massgis:GISDATA.ACECS_POLY&X=120&Y=109&FORMAT&STYLES=&SERVICE=WMS",
method: "JSONP",
params : {
REQUEST: 'GetFeatureInfo',
format_options: 'callback: JSON_CALLBACK'
},
};
您正在尝试执行http.get吗?或者我是如何解释的,尝试ping一个服务器并得到一个json?我认为你不应该把你的问题修改成一个全新的问题,否则我的答案就没有意义了。你能回复并问一个新问题吗?如果对你有帮助的话,你能标记一个正确的答案吗?我怎样才能将查询字符串分离为json参数和send?你为什么定义window.parseResponse?实际上,这里有一篇文章展示了你如何在jsonp调用中指定参数,我定义了window.parseResponse以从json回调中传递数据,因为它被包装在parseResponse函数中。我以为您只是想要JSON?您的解决方案很好,我尝试了这个方法,但无法捕获回调,成功函数不起作用
var httpOptions = {
url: "http://giswebservices.massgis.state.ma.us/geoserver/wms?VERSION=1.1.1&LAYERS=massgis:GISDATA.ACECS_POLY&SRS=EPSG:26986&BBOX=11830.0,776202.9449152543,348201.0,961492.0550847457&WIDTH=708&HEIGHT=390&INFO_FORMAT=text/javascript&FEATURE_COUNT=10&QUERY_LAYERS=massgis:GISDATA.ACECS_POLY&X=120&Y=109&FORMAT&STYLES=&SERVICE=WMS",
method: "JSONP",
params : {
REQUEST: 'GetFeatureInfo',
format_options: 'callback: JSON_CALLBACK'
},
};