下面是我对ajax的7个回调方法。它们在结构上都是相似的,所以如果我想要将代码抽象为泛型方法,请调用这些泛型方法,并使用输入参数/参数修改它们。
但是,我试图确定合并值得努力的地方。什么是最佳做法?
请问我合并这些方法?
/*
consolidate these ajax call back functions
*/
function ajax_signup(a,b)
{
c=check_aml(a.slice(0,6));
if(c===0)
{
document.f1_1.submit(); // on pass submit the file upload form
}
else if(c===1)
{
document.getElementById(b).innerHTML=a; // on fail report to user
}
else if(c===2)
{
a=a.substr(6);
alert('php error: ' + a); // on php error
}
}
function ajax_signin(a,b)
{
c=check_aml(a.slice(0,6));
if(c===0)
{
m6(); // on pass reload the page
}
else if(c===1)
{
document.getElementById(b).innerHTML=''; // on fail report to the user
document.getElementById(b).innerHTML=a;
}
else if(c===2)
{
a=a.substr(6);
alert('php error: ' + a); // on php error
}
}
/*
Takes in sturctured data and convert to xhtml - remove the conversion into another method
*/
function ajax_tweet(a,b)
{
var c,d,e,f='';
var g=a.slice(0,6); // prepare status
var h=check_aml(g); // check for status
if(h===0)
{
c=a.split(/\|\|/);
for(e=0;e<c.length;e++)
{
d=c[e].split(/\|/);
f=f+'<div class="Bb2b"><img class="a" src="pictures/' + d[0] + '.jpg" alt=""/><a class="a" href="javascript:void(0)\">' + d[1] + ' posted ' + view_date(d[2],d[3]) + '</a><br/><p class="c">' + d[4] + '</p></div>';
}
m2(b,f);
}
else if (h===1) // on tweet fail - add in graceful fail <xx_f>
{;}
else if (h===2)
{
a=a.substr(6);
alert('php error: ' + a); // on php error
}
}
/*
Ajax call-back methods - do nothing but report a PHP error if it ocurred. On a success of and add or delete there is no message to the user. Need to add in a graceful fail, ie. <xx_f>.
*/
function ajax_bookmark(a,b)
{
c=a.slice(0,6);
d=check_aml(c);
if(d===0)
{;}
else if (d===1)
{;}
else if (d===2)
{
a=a.substr(6);
alert('php error: ' + a);
}
}
function ajax_bookmark_add(a,b)
{
ajax_bookmark(a,b);
}
function ajax_bookmark_delete(a,b)
{
ajax_bookmark(a,b);
}
/*
Place holder for method parameter
*/
function ajax_null()
{
}
答案 0 :(得分:0)
查看使用模块模式或常规对象实例化的分组。