Angularjs 未设置角度字体自动完成http端点回调
我正在尝试复制这个自动完成在我的角度项目 我将HTML和控制器数据复制到我的项目中,它的行为就像Plunker一样。接下来,我想尝试将HTTP服务指向我的自定义端点,以便创建一个url,该url返回与Plunker示例中完全相同的数据结构和头,但自动完成不起作用 Plunker示例中的原始控制器代码:Angularjs 未设置角度字体自动完成http端点回调,angularjs,autocomplete,Angularjs,Autocomplete,我正在尝试复制这个自动完成在我的角度项目 我将HTML和控制器数据复制到我的项目中,它的行为就像Plunker一样。接下来,我想尝试将HTTP服务指向我的自定义端点,以便创建一个url,该url返回与Plunker示例中完全相同的数据结构和头,但自动完成不起作用 Plunker示例中的原始控制器代码: $scope.cities = function(cityName) { return $http.jsonp("http://gd.geobytes.com/AutoCompleteCit
$scope.cities = function(cityName) {
return $http.jsonp("http://gd.geobytes.com/AutoCompleteCity?callback=JSON_CALLBACK &filter=US&q="+cityName).then(function(response){
return limitToFilter(response.data, 15);
});
};
Content-Length →671
Content-type →application/javascript
Date →Sat, 19 Oct 2013 02:43:22 GMT
Expires →0
Server →Microsoft-IIS/6.0
X-Powered-By →ASP.NET
我的版本:
$scope.cities = function(cityName) {
return $http.jsonp("http://localhost/shfofx/PHP/Rest/symbols.php?keyword="+cityName).then(function(response){
return limitToFilter(response.data, 15);
});
};
从plunker示例返回的数据集(浏览器中的URL):
从我的端点返回的数据集(浏览器中的URL):
Plunker示例中的标题信息:
$scope.cities = function(cityName) {
return $http.jsonp("http://gd.geobytes.com/AutoCompleteCity?callback=JSON_CALLBACK &filter=US&q="+cityName).then(function(response){
return limitToFilter(response.data, 15);
});
};
Content-Length →671
Content-type →application/javascript
Date →Sat, 19 Oct 2013 02:43:22 GMT
Expires →0
Server →Microsoft-IIS/6.0
X-Powered-By →ASP.NET
来自我的端点的标题信息:
Connection →Keep-Alive
Content-Length →58
Content-Type →application/javascript
Date →Sat, 19 Oct 2013 02:44:30 GMT
Keep-Alive →timeout=5, max=100
Server →Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/0.9.8x DAV/2 PHP/5.4.10
X-Powered-By →PHP/5.4.10
Plunker示例中的端点可以根据需要工作(请参见上面的Plunker)。当我将URL指向我的端点时,将根据Chromes资源检查器检索资源,但这些值不会显示为自动完成选项??我能做什么或尝试什么
经过进一步审查,Chromes resource inspector显示工作数据响应的前缀为:
angular.callbacks._2 (the 2 indicating that this is the 3rd call)
对于我的端点,“JSON_回调”没有被替换
我可以显式地将返回的字符串设置为包含“angular.callbacks.\u$”,其中$被替换为尝试的次数,并且可以正常工作,但这当然不是正确的方法。感谢您的帮助。所以答案是两部分: 1-我需要在请求中传递callback=JSON\u回调:
http://localhost/shfofx/PHP/Rest/symbols.php?callback=JSON_CALLBACK&keyword="+cityName)
2-然后在我的端点中,我需要提取回调参数并将其前置到返回响应的开头:
$row .= $callback;
$row .= $formattedResponse;
......
print $row;
所以答案是两部分: 1-我需要在请求中传递callback=JSON\u回调:
http://localhost/shfofx/PHP/Rest/symbols.php?callback=JSON_CALLBACK&keyword="+cityName)
2-然后在我的端点中,我需要提取回调参数并将其前置到返回响应的开头:
$row .= $callback;
$row .= $formattedResponse;
......
print $row;