gpt4 book ai didi

javascript - 帮助我在 JavaScript/jQuery 中创建第一个自己的对象

转载 作者:行者123 更新时间:2023-12-02 20:44:00 26 4
gpt4 key购买 nike

我编写了一个 PHP 脚本来检查域是否可用于注册。

为了自动化该过程,我还编写了一个 js 脚本,该脚本自动向 PHP 脚本发送 AJAX 调用并告诉用户该域是否可用,而无需提交表单:

$(document).ready(function() {

function Domain() {
this.name = '';
this.dotComRegistered = 1;
this.dotNetRegistered = 1;
this.dotOrgRegistered = 1;
}

Domain.prototype.check = function(input) {
this.name = input;

if (this.name.length >= 3 && this.name.length <= 63) {
$.get('check.php', { d : this.name }, function(json) {

alert(json);

this.dotComRegistered = $.evalJSON(json).com;
this.dotNetRegistered = $.evalJSON(json).net;
this.dotOrgRegistered = $.evalJSON(json).org;

});
}
}

var domain = new Domain();

var input = ''

$('#domain').keyup(function() {

input = $('#domain').val();
domain.check(input);

});

$('form').submit(function() {

input = $('#domain').val();
domain.check(input);
return false;

});

});

如您所见,我创建了一个名为 Domain 的对象,它代表域名。该对象只有一个方法(除了构造函数),用于将 AJAX 请求发送到 PHP 脚本(返回 json)。

问题是 Domain.prototype.check() 方法不起作用(我没有收到警报窗口),我不知道问题出在哪里。当我将 AJAX 调用放在它起作用的方法之外时,所以这不是问题。

我是 OOP 初学者,所以也许我使用了一些错误的语法来编写 Domain 对象(我现在正在阅读 John Resig 写的一本关于 JavaScript 中的 OOP 的书)。

#domain 是域名的输入字段。

最佳答案

你用过 Firebug 吗?在发出请求的位置设置断点,然后从该点单步执行。您的代码中的 dn 来自哪里?

此外,您的 Domain 函数位于 $(document).ready() 中是否有特定原因?它实际上并不需要在那里(您也可以考虑为您的类命名空间)。

关于javascript - 帮助我在 JavaScript/jQuery 中创建第一个自己的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1758906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com