所以我有一个使用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适当地处理它,或者我正在接近我如何以错误的方式绑定它们?欣赏任何想法或想法。干杯!