我有一个 javascript 类:
function Quotation(){
if(typeof Quotation.instance === 'object'){
return Quotation.instance;
}
Quotation.instance = this;
var self = this;
this.getQuotation = function(customerID,numRow){
var result = "";
var urlDefault = "mysite.com/getDefaultQuote" + "?id="+ customerID +"&count=" + numRow;
var url = "mysite.com/getQuote" + "?id="+ customerID +"&count=" + numRow;
$.ajax({
url:url,
type:type,
dataType:datatype,
contentType: contenttype,
data : JSON.stringify(data),
success:function(res){
result = res;
},
error:function(res){
result="";
},
async : false
});
return result;
};
}
这是我的 View 调用 Quotation
对象的位置:
var quotation = new Quotation();
var HomeView = Backbone.View.extend({
initialize: function() {
},
render: function(){
console.log(quotation.getQuotation(10,12));
}
});
我想在 getQuotation
中进行测试:
如果 quotation.getQuotation(10,12)
具有值,则 getQuotation
将采用 url = "mysite.com/getQuote"
作为 ajax 请求 URL。
否则,如果 quotation.getQuotation(10,12)
没有记录,则 getQuotation
将采用 urlDefault = "mysite.com/getDefaultQuote";
.
这是控制台中的结果:
非常感谢任何帮助。
最佳答案
您应该检查 success
回调中的 res
并在 res
为 null 时执行额外的 AJAX 请求来加载默认报价
.
我可能会在服务器端实现此逻辑,以便您始终执行单个请求。
关于javascript - 测试对象在 JavaScript 中是否有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942537/