[英]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.