2014-02-23 91 views
1

我編寫了一個調用返回某些數據計數的方法的腳本,然後將'P'標記的文本(通過id = count)更改爲返回值。 我的腳本:爲什麼我的text()函數在我的腳本中不起作用?

$(document).ready(function() { 
    $("#count").text(function() { 
     $.ajax({ 
      type: "POST", 
      url: "./WebForm1.aspx/GetCountUnCheckNotification", 
      data: {}, 
      async: false, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       return (response.d); 
      }, 
     }); 
    }); 
}); 

什麼問題?

+0

另外'成功:功能(響應){ return(response.d); },'刪除尾隨逗號 –

回答

1

你有一個關於AJAX如何工作的錯誤 - 你的函數沒有返回任何東西。由於AJAX是異步,因此在函數返回後調用您的success回調。

爲了使這項工作,你就必須開始與AJAX調用,然後,在它成功處理程序,設置<p>文:

$.ajax({ 
    ... 
    success: function (result) { 
    $("#count").text(result.d); 
    } 
}) 
2

如果你的反應是一個JSON,那麼你需要分析它像below.And如果你的反應是不是在JSON,您可以直接分配值.text(response)

  $(document).ready(function() { 

        $.ajax({ 
         type: "POST", 
         url: "./WebForm1.aspx/GetCountUnCheckNotification", 
         data: {}, 
         async: false, 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         success: 
          function (response) { 
           var result=parseJSON(response) 
           $("#count").text(result.d) 
          }, 
        }); 

       }); 
      }); 
0
$.ajax({ 
         type: "POST", 
         url: "./WebForm1.aspx/GetCountUnCheckNotification", 
         data: {}, 
         async: false, 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         success: 
          function (response) { 
           $("#count").val(response["id"]); // in case of input tag 
           $("#count").html(response["id"]); // in case of span/p/div 
          }, 
        }); 
0

你需要設置$("#count").text()在成功回調...

$(document).ready(function() { 
        $.ajax({ 
         type: "POST", 
         url: "./WebForm1.aspx/GetCountUnCheckNotification", 
         data: {}, 
         async: false, 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         success: 
          function (response) { 
           $("#count").text(response.d); 
          } 
        }); 
       } 
1

嘗試:

$(document).ready(function() { 
    $.ajax({ 
     type: "POST", 
     url: "./WebForm1.aspx/GetCountUnCheckNotification", 
     data: {}, 
     async: false, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (response) { 
      $("#count").text(response.d); 
     }, 
    }); 
}); 
0

的$就功能不返回任何東西。嘗試這樣的:

$.ajax({ 
    type: "POST", 
    url: "./WebForm1.aspx/GetCountUnCheckNotification", 
    data: {}, 
    async: false, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: 
     function (response) { 
      $("#count").text(response.d); 
     }, 
}); 
0

由於異步操作的方式,它不起作用。基本上你要告訴$('#count')。text()立即將文本設置爲匿名函數返回的內容。但是這個函數在觸發ajax事件後會返回undefined。您必須將文本調用放在最終回調中;直到後來才執行:

$(document).ready(function() { 
    $.ajax({ 
    type: "POST", 
    url: "./WebForm1.aspx/GetCountUnCheckNotification", 
    data: {}, 
    async: false, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: 
    function (response) { 
     $("#count").text(response.d); 
    }, 
    }); 
}); 
相關問題