淘汰:让整个页面等待ajax调用的结果

时间:2016-08-22 15:14:17

标签: javascript asynchronous knockout.js geolocation

基本上,我想打电话给geoip.com获取浏览器用户的信息,然后使用他们的位置正确呈现。但问题是使用knockout,页面得到渲染而不等待ajax的结果(即使所有渲染代码都留在成功回调之后)。我怎样才能达到效果?

从ajax更改为同步也不起作用。

我使用knockout将数据绑定到视图中的自定义处理程序

<div id="main_layout" class=layout data-bind="svg:handle">
....Other HTML....

在其viewModel的svg.handle内部

ko.bindingHandlers.svg = {
        init: function (element, valueAccessor) {
$.ajax({
        url: '//freegeoip.net/json/',
        type: 'POST',
        dataType: 'jsonp',     
        success: function(location) {
//        Do everything
}
}
// return viewModel for the HTML

0 个答案:

没有答案