2013-02-28 172 views
1

AJAX我知道,在一点点混乱的问题,但这样的想法:如何使我的代码看起来像jQuery的风格

我做的JavaScript库,并试图复制一些jQuery的风格。我有一个函数,它将接收3个参数,我想在jQuery中使用AJAX。

例子:

我想,我的功能看起来像这样

$.ajax({ 
url: "url", 
dataType: post, 
etc etc 
}); 

,但我的代码:

Stone.ValidateNumber({ 
InputElementId: "Some Input's ID", 
MessageDestiny: "Other html element's ID" 
TrueResults: "#333", //if the validation is true 
FalseRetuls: "RED", //if the validation is false(I dont know if this could work or could be a function, but i dont know, and thats why i came here) 

}) 

注:这只是一个例子。我想要的是知道要这样做。

+2

一个问题:为什么? – ppeterka 2013-02-28 15:04:21

+1

您需要将一个关联数组作为参数。 – ATOzTOA 2013-02-28 15:04:44

+0

你试过了吗?这不是我们可以狭隘回答的问题。 – Blazemonger 2013-02-28 15:05:50

回答

3

什么的jQuery做的是有一个对象参数。

例如:

Stone.ValidateNumber = function(params) { 
    alert("InputElementId = " params.InputElementId); 
    alert("TrueResults= " params.TrueResults); 
    alert("FalseRetuls= " params.FalseRetuls); 


} 

这里是一个方式,实现AJAX风格:

var $ = {}; //$ equal to new object 
$.ajax = function(options) { 
    alert(options.data); 
} 
$.get = function(options) { 
    this.ajax({ data : 'hello', url: 'http://www.google.com' }); 
} 
+0

但风格就像一个正常的功能。或者我错过了什么? – Misters 2013-02-28 15:11:57

+0

你是什么意思的正常功能? – ygaradon 2013-02-28 15:14:20

+0

我知道如何做到这一点,也是我做的,但我试图让它看起来像JQuery有AJAX的风格。再看看问题。此外即时通讯试图学习它如何工作以这种方式传递parramaters(它不只是风格问题) – Misters 2013-02-28 15:17:25

1

事情是这样的:

ValidateNumber(myDict) { 
    input = myDict["InputElementId"]; 
    t_results = myDict["TrueResults"]; 
    f_results = myDict["FalseResults"]; 

    // Process data 
} 
+0

我明白,但是,我如何处理数据? – Misters 2013-02-28 15:10:07

+0

您的Stone课程是做什么的? – ATOzTOA 2013-02-28 15:58:26

+0

是库的名称,如JQuey“$”。该库的功能仅用于输入验证,如接受数字,字符串,日期格式等。 – Misters 2013-02-28 16:08:04

0

像这样的事情?

Stone.ValidateNumber = function(first){ 

if (Object.keys(first).length) == 1) 
{ 
    //make sure that all elements are defined (typeof != 'undefined') 
if (first.InputElementId == 'valid_rule') 
    return first.TrueResults; 
    else 
    return first.FalseRetuls; 
} 
相关问题