javascript - 测试对象在 JavaScript 中是否有值

标签 javascript

我有一个 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";.

这是控制台中的结果:

enter image description here 非常感谢任何帮助。

最佳答案

您应该检查 success 回调中的 res 并在 resnull 时执行额外的 AJAX 请求来加载默认报价.

我可能会在服务器端实现此逻辑,以便您始终执行单个请求。

关于javascript - 测试对象在 JavaScript 中是否有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942537/

相关文章:

javascript - 如何在 HTML 页面上提取 JSON 数据

javascript - 为什么我的脚本没有通过 w3c 验证?

javascript - AngularJS - $watch 出现问题

javascript - 如何设置隐藏元素的滚动状态

javascript - 在将响应发送回客户端之前,如何等待 Mandrill 的交付响应?

javascript - 使用正则表达式替换字符串的一部分

javascript - 事件未显示在完整日历中

javascript - 如何确保缩放不低于零并避免缩放点接触 y 轴和 z 轴? d3.zoom v4

javascript - 卡住表的第一行和第一列

javascript - 如何在用户按 ESC angular 5 时从文本字段中删除焦点