如何编写可以自己调用的jQuery函数(无元素)
我希望编写一个模拟jQuery库中ajax调用的函数。我在当前的项目上做了很多ajax调用,我总是一遍又一遍地编写相同的代码块来解决错误,我想编写一个函数来获取错误数据(或成功消息,如果有的话)并返回它,最好是在JSON对象中 这不是我担心的部分,我真正需要做的是让函数在没有元素的情况下工作 因此,与其如何编写可以自己调用的jQuery函数(无元素),jquery,function,jquery-plugins,Jquery,Function,Jquery Plugins,我希望编写一个模拟jQuery库中ajax调用的函数。我在当前的项目上做了很多ajax调用,我总是一遍又一遍地编写相同的代码块来解决错误,我想编写一个函数来获取错误数据(或成功消息,如果有的话)并返回它,最好是在JSON对象中 这不是我担心的部分,我真正需要做的是让函数在没有元素的情况下工作 因此,与其 $("#element").transfer("page.php", "post", {'key': "value", 'other' : "data"}); 我想这样称呼它: $.trans
$("#element").transfer("page.php", "post", {'key': "value", 'other' : "data"});
我想这样称呼它:
$.transfer("page.php", "post", {'key': "value", 'other' : "data"});
…有点像jQuery中的$.post()
和其他一些函数(ajax、get、getJSON)
我尝试了各种编写函数/插件的方法,但都没有成功。有人知道这是否可能吗?[或者如果有更好的方法来实现它]将其定义为任何其他函数
$.transfer = function(page, post, values) {
//function body...
}
您只需在jQuery对象上设置函数,它就可以使用了
(function ($) {
$.transfer = function () {
//your custom logic here
}
}(jQuery));
您不需要在jquery obj上定义此函数。只需定义一个新函数
function transfer() {
// whatever
}
为什么不能直接使用
$.ajax(url,{type:'post',data:{'key':“value”,“other':“data”});
?所有这些函数都已经是$的别名。ajax
…尽管答案正确,我还是建议不要按照您描述的方式包装ajax。除非您的调用都是同步的(这通常是个坏主意),否则您不能返回对象,您也不能将其扩展为使用延迟对象。我所要做的就是从POST中获取一个JSON对象,每次都使用相同的格式,而不必每次都编写相同的代码行来处理它。我想我正在寻找更能处理返回值的东西,但我的头试图封装整个过程哈,哈哈,我试过了,但没用。我又试了一次,现在成功了。想想看。谢谢你:)谢谢!…但是ZZBOV打败了你:P@JoshToth:嗯,如果你停留在时间上,你会看到我在zzzBov失败前5秒发布了这篇文章:)n00b失败。我把它切换到你:)我试过了,但它一直给我带来意想不到的奇怪错误是的,所以我放弃了。