Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写可以自己调用的jQuery函数(无元素)_Jquery_Function_Jquery Plugins - Fatal编程技术网

如何编写可以自己调用的jQuery函数(无元素)

如何编写可以自己调用的jQuery函数(无元素),jquery,function,jquery-plugins,Jquery,Function,Jquery Plugins,我希望编写一个模拟jQuery库中ajax调用的函数。我在当前的项目上做了很多ajax调用,我总是一遍又一遍地编写相同的代码块来解决错误,我想编写一个函数来获取错误数据(或成功消息,如果有的话)并返回它,最好是在JSON对象中 这不是我担心的部分,我真正需要做的是让函数在没有元素的情况下工作 因此,与其 $("#element").transfer("page.php", "post", {'key': "value", 'other' : "data"}); 我想这样称呼它: $.trans

我希望编写一个模拟jQuery库中ajax调用的函数。我在当前的项目上做了很多ajax调用,我总是一遍又一遍地编写相同的代码块来解决错误,我想编写一个函数来获取错误数据(或成功消息,如果有的话)并返回它,最好是在JSON对象中

这不是我担心的部分,我真正需要做的是让函数在没有元素的情况下工作 因此,与其

$("#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失败。我把它切换到你:)我试过了,但它一直给我带来意想不到的奇怪错误是的,所以我放弃了。