我有一个大型项目,需要通过Ajax调用处理多个函数,到目前为止,我使用不同的文件来处理每个函数调用。我知道必须有一种更好的方法来通过API处理请求
在结构上设计这样的API的标准做法是什么?
谢谢!
假设您是唯一要使用该API的人,并且可能是所有事情,从非常简单到复杂,取决于您的编写方式,据我所知,还没有确定的标准对于这种事情,但是解决此类问题的一种好方法是在客户端和服务器端创建一个便捷功能,例如
function fetch(what, data) {
data.what = what;
return $.ajax({
url : '/my/ajaxapi.php',
data : data,
dataType : 'json'
});
}
而当您需要做某事时
fetch('users', {name : 'Bill'}).done(function(result) {
$('#user').text(result.text);
});
$('.zoidberg').on('click', function() {
var self = this;
fetch('zoidberg', {}).done(function(result) {
$(self).text(result.text);
});
});
在服务器端,您只有一个文件,如何设置取决于所使用的语言,但要说PHP,您当然可以喜欢类等。或者只是做一个简单的if / else或switch / case
<?php
$key = $_GET['what']; // wrap in something that makes it safe
$res = Array();
switch($key) {
case 'users' :
// lookup in DB or something
$res['text'] = $username;
break;
case 'zoidberg' :
$res['text'] = " Why Must I Be a Crustacean in Love";
}
echo json_encode($res);
?>
这只是一个简单的示例,但可以对其进行设置以使其适合您的工作,并且可以节省大量工作,而且所有内容都集中在一个位置,因此以后可以轻松查找和修改,也可以轻松添加新内容可以使用ajax等获得,并且可能只需要一次获得资源,数据库连接等,而不是在每个文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句