标签: jquery-callback

jQuery AJAX 请求 302 重定向 - 哪些回调可用?

我正在使用一个使用 jQuery 1.2.6 的旧系统。我正在通过该函数发送 AJAX 请求jQuery.ajax。它所访问的 URL 正在发送 302 HTTP 重定向响应,并最终以 200 HTTP OK 响应结束。我已经注册了 asuccesscomplete回调,但是它们都没有被调用。

我的问题是:重定向发生后是否可以/将调用任何回调?

jQuery.ajax({
    type: "GET",
    url: url,
    data: null,
    dataType: "json",
    async: false,
    success: function(data, textStatus) {
        alert("SUCCESS CALLED: " + textStatus);
    },      
    complete: function(xhr, status) {
        alert("COMPLETE CALLED");
    }
});
Run Code Online (Sandbox Code Playgroud)

注意:响应是 HTML,而不是 JSON,但是更改dataTypehtml改变请求。它发送OPTIONS请求而不是GET请求,并且也不再重定向。我需要这些重定向发生。

jquery redirect jquery-callback

5
推荐指数
1
解决办法
1万
查看次数

Rails Ajax,成功回调数据未定义

所以我对 Rails 相当陌生。

这是我的问题:

我的咖啡脚本中有一个 Ajax 调用到租户模型,编辑页面。

$("#tenant_tenantbuildinginfo").change ->
    $.ajax
        url: "/buildings/getgst",
        dataType: "json",
        data: 'buildinginfo' : $(this).val(),
        success: (data) ->
            console.log data
            $("#tenant_gst").val data
        error: (data) ->
            console.log 'error'
    return false
Run Code Online (Sandbox Code Playgroud)

所以这个ajax调用的想法是从建筑物控制器中的方法返回一个税率,比如“5.6”,(完美地工作)......

   def getgst
     d { 'gets fired' }
     s = Building.get_gst_for_building(params[:buildinginfo])
     d { s.to_s('F') }
     @var = s.to_s('F')

     respond_to do |format|
       format.json { render json: @var }
     end

   end
Run Code Online (Sandbox Code Playgroud)

d { } 行是记录器,这就是为什么我知道正在调用该函数并返回正确值的原因。很好,到目前为止,Ajax 调用运行良好。但是,现在我的问题是解析或呈现成功函数中的返回值。

success: (data) ->
console.log data
$("#tenant_gst").val data
Run Code Online (Sandbox Code Playgroud)

AJAX 调用的这一部分在我的控制台中返回“未定义”,这真的很奇怪,因为在我的控制器操作中,我将 @var 渲染为 json,而 ajax 调用需要 …

ajax jquery ruby-on-rails jquery-callback

5
推荐指数
1
解决办法
3359
查看次数

jQuery在回调中获取源元素

$('.myElem').live('click', function() {
    $(this).hide(500, function() {
        $(this).siblings('.myOtherElem').show();
    });
});
Run Code Online (Sandbox Code Playgroud)

以上操作无效,因为$(this)回调中的范围不再正确.如何将原始源元素传递给回调?

jquery function callback jquery-selectors jquery-callback

4
推荐指数
1
解决办法
5347
查看次数

.animate()中的匿名回调函数无法正常工作

我不能为我的生活弄清楚这段代码的问题是什么.动画本身很好用:

if (!list.is(':animated')) {
    list.animate(
        {"top": "+="+item_size},
        {queue:false, duration:speed},
        function() {
            alert();
        }
    ); // end of animate function

} //end of if statement
Run Code Online (Sandbox Code Playgroud)

jquery jquery-callback jquery-animate

4
推荐指数
1
解决办法
3462
查看次数

在Javascript/jQuery中将匿名函数传递给自定义事件触发器

我正在尝试触发DOM元素上的自定义事件,并传递匿名函数,以便在触发事件时执行(使用jQuery).所以像这样:

$(some-dom).live("custom_event", function(evtObj, data, callback) {
//do some stuff
callback();
});

$(some-button).click(function() {
    $(some-dom).trigger("custom_event", some_data, function () {
        alert("this is my anonymous function passed as event data");
    }
});
Run Code Online (Sandbox Code Playgroud)

所以单击"some-button"应该在"some-dom"上触发"custom_event"并导致我在触发器上传递的匿名函数被执行.对?但是浏览器说自定义事件中的回调未定义.难道我做错了什么?是不允许传递匿名函数作为触发器参数?谢谢

jquery callback anonymous-function jquery-callback custom-events

4
推荐指数
1
解决办法
5800
查看次数

如何通过传递参数和覆盖我自己的回调来自定义jquery小部件?

我是jquery的新手,最近根据我的需要量身定制了jquery组合框.但是,我需要在我的网站上的其他位置重用此组件.我基本上需要传入一些参数和一个回调函数,应该调用它来处理jquery中的某些事件.我正在努力学习语法并尝试找到jquery-way of things:

为了给你一个样本,这里是sourcecombobox -> input -> autocomplete -> source:

(创建一个工作jsfiddle以供参考)

source: function( request, response ) {
    // implements retrieving and filtering data from the select
    var term = request.term;
    var prefixLength = 2;
    if (term.length >= prefixLength) {
        var abbreviation = term.substring(0, prefixLength);

        if(!(abbreviation.toLowerCase() in cache)){
            cache[abbreviation.toLowerCase()] = 1;

            $.ajax({
                url: "/wah/destinationsJson.action",
                dataType: "json",
                data: {
                    term: abbreviation
                },
                type: "GET",
                success: function(data) {
                    if(!data || !data.cities || !data.cities.length){
                        // response(["No …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui callback jquery-callback jquery-widgets

4
推荐指数
1
解决办法
5476
查看次数

设置AJAX回调操作的最短等待时间

我有一个用HTML构建的应用程序,它使用$ .get()在一个模态中加载全屏

我有一个加载屏幕,当有人点击图标加载应用程序时触发.

我希望在清除和显示应用程序之前,加载屏幕至少显示2秒钟.

是否有一个好的,安全的方法来启动运行2000毫秒的计时器,检查由回调填充的变量以查看它是否为空,然后仅在加载变量时继续执行某个操作?

我知道while循环可以解决这个问题,但是在缓慢的一天加载内容之前可能会循环1000次,这似乎是一种低效的做事方式.

回答

$('#testApp').click(function() {
    var twoSecMin = $.Deferred();
    setTimeout(function () { twoSecMin.resolve(); }, 2000);
    $('#appModal').fadeIn(400);
    $.when($.get("/usm/portal/_layouts/monkeysphere/test.aspx"),twoSecMin).then(function (data) {
        $('#appContainer').html(data[0]);
        $('#appContainer').show();
        $('#appModal').fadeOut(200);
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-callback

4
推荐指数
1
解决办法
1666
查看次数

为什么综合触发点击不会聚焦元素?

合成触发点击不会导致焦点切换到元素,但是硬件触发的点击会。

我正在尝试模拟对一个元素(比如带有 tabindex 的 div)的合成点击,该元素在焦点上有一个回调绑定。我不想显式调用该元素的焦点,因为该元素可以通过单击或键盘选项卡获得焦点。

我的JSFiddle

代码

$('button.trigger').click(function(){
    $('div#target').trigger('click');
});

$('button.trigger1').click(function(){
    var event = new MouseEvent('click');
    var target = document.getElementById('target'); 
    target.dispatchEvent(event);
});

$('div#target').click(function(){
    $(this).addClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

HTML :

<div id="target" tabindex="-1"></div>
<button class="trigger">Click to trigger click</button>
<button class="trigger1">Click to dispatch click</button>
Run Code Online (Sandbox Code Playgroud)

CSS :

div{
    height:100px;
    width:100px;
    border:10px solid black;
}

#target:focus{
    background-color:#aaa;
}
.selected{
    border-color:red;
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery javascript-events jquery-callback

4
推荐指数
1
解决办法
1748
查看次数

循环时向javascript添加回调

我试图在我的简历页面上复制一个类型 - 作者效果,如果工作除了一部分:

while (i < tags.length) {
    type(tags[i], content[i], 0, 50);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

这是写出行的函数,它正常工作,除了它一次写入所有行的事实.我想让它写一行,然后继续写下一行,依此类推.我知道解决方案在于添加一个回调函数,但我似乎无法让它正常工作.任何帮助/建议将不胜感激.谢谢!

此外,这里是完整的jsfiddle.

javascript jquery callback jquery-callback

4
推荐指数
1
解决办法
755
查看次数

jQuery:如何检测是否未单击元素?

我想知道是否可以检测是否未点击元素.这是我的代码:

$("#mpElement").myFeature({
            .........
            .........
            .........
    afterDo: function() {
        // This if-else statement has to go inside "when not clicked" condition. 
        // Not sure how to do this...
        if($(".myButton").last().hasClass("selected")) {
            $(".myButton").first().addClass("selected");
            $(".myButton").last().removeClass("selected");
        } else {
            $(".selected").removeClass("selected").next().addClass("selected");
        }
        $(".myButton").on("click", function(){
            $(".myButton").removeClass("selected");
            $(this).closest(".myButton").addClass("selected"); 
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

你会注意到$("myButton的').在(’点击",函数(){检测单击事件.我希望把if-else语句此功能上述内部时不点击状态.不知道如何做这个.

jquery jquery-callback jquery-click-event

3
推荐指数
1
解决办法
1万
查看次数