用knockoutJS处理ajax调用?

时间:2017-10-15 20:47:38

标签: javascript jquery ajax knockout.js

所以我有一个使用Zomato API的应用程序。工作得很好,但我一直得到一个错误,一个knockoutJS绑定(在这个特定的例子中,toClicked().zomatoInfo)是未定义的。一旦ajax调用返回并且数据正确填充,似乎工作正常。有没有办法让knockoutJS适当地处理这个,所以我们不会有任何错误?

这是我的ajax请求:

var zomatoGetData = function(input){
  var zomID = input.zomatoID;
  var result = $.ajax({
    url: 'https://developers.zomato.com/api/v2.1/restaurant?res_id=' + zomID,
    headers: { 'user-key' : 'myPersonalKey' },
    success: function(result) {
      return result;
    },
    error: function (thrownError){
      alert("Error! Here's what we pulled up: " + thrownError);
    }
  });

作为其中一个绑定的简化示例:

<p id="location_description">
        The food and atmosphere is...
        <span data-bind="text: toClicked().zomatoInfo.responseJSON.user_rating.rating_text"></span>.
        (<span data-bind="text:toClicked().zomatoInfo.responseJSON.user_rating.aggregate_rating">X</span> 
        out of 5, rated by <span data-bind="text: toClicked().zomatoInfo.responseJSON.user_rating.votes">X</span> people.)<br>
</p>

我是否有某种方法可以处理ajax请求,以便knockoutJS适当地处理它,或者我正在接近我如何以错误的方式绑定它们?欣赏任何想法或想法。干杯!

0 个答案:

没有答案