[英]getJSON only returning a HTMLCollection
我正在嘗試使用getJSON
(類似於jquery.ui.autocomplete
)創建電子郵件有效性(即,如果電子郵件尚不存在,則檢查數據庫)。 但是,從回調接收的數據似乎只是當前頁面的站點標題,而不是InitSource-function
調用的頁面。 (我已經檢查過了,並且正確地被調用了)。
有人可以告訴我出了什么問題,為什么我得到一個HTMLCollection
而不是正確的JSON
?
這是代碼:
$.fn.Functions = {
InitSource: function () {
$.getJSON(this.source, { term: this.getTerm() }, this.response(data));
},
onChange: function () {
this.InitSource();
},
response: function (data) {
alert(data.result);
},
getTerm: function () {
var key = $('.' + this.selector).val();
if (key.length > 0) return key;
}
};
this.source
是一個相對路徑: /EmailCheck.aspx
。
並返回單個值: {"result" : "true"}
。
有人可以告訴這個新手他為什么在回調中得到完全錯誤的數據?
您正在調用該函數,然后將返回值發送到getJSON
調用。 使用不帶參數的函數名稱來發送函數引用而不是調用它。
在使用方法時,需要使用proxy
以便使用對象的上下文調用它:
$.getJSON(this.source, { term: this.getTerm() }, $.proxy(this.response, this));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.