相关疑难解决方法(0)

阻止jQuery .load响应被缓存

我有以下代码在URL上发出GET请求:

$('#searchButton').click(function() {
    $('#inquiry').load('/portal/?f=searchBilling&pid=' + $('#query').val());            
});
Run Code Online (Sandbox Code Playgroud)

但返回的结果并不总是反映出来.例如,我更改了堆栈跟踪的响应,但是当我单击搜索按钮时没有出现堆栈跟踪.我查看了控制ajax响应的底层PHP代码,它有正确的代码,直接访问页面显示正确的结果,但.load返回的输出是旧的.

如果我关闭浏览器并重新打开它,它会工作一次,然后开始返回陈旧的信息.我可以通过jQuery控制它,还是需要我的PHP脚本输出头来控制缓存?

ajax jquery caching

241
推荐指数
6
解决办法
16万
查看次数

jQuery - 'this'选择器在回调函数中不起作用

可能重复:
$(this)在函数中不起作用

我正在写jQuery删除代码的帖子,删除本身是通过post-request to backeds,服务器返回200后,我想在客户端删除这篇文章.

$('.delete-post').click(function() {
    $.post($(this).attr('href'), {}, function(data) {
        $(this).closest('.post').remove();
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

但是,我注意到内部函数(数据){...)选择器'this'不起作用.我需要$('.delete-post')使用类'.post' 删除最接近div的div.如何管理这个问题?谢谢!

jquery this jquery-selectors

6
推荐指数
1
解决办法
6575
查看次数

$(this)对象在jquery post()后变为undefined

在我的网站的登录页面上,我有两个相同的登录表单.一个在页面的主体中,第二个被加载到标题中的Login链接的jquery对话框中.我已经删除了所有相同的ID并使用了类.

我想要做的是:用户在对话框中单击提交后,我试图将错误消息放入正确的DIV中,但$(this)在jquery post()或ajax调用之后我得到了未定义.

$('.login-submit').live('click', function(){
alert($(this).attr('class')); // THIS WORKS
    var form = $(this).parent('form').get(0);   
    var values = $(this).parent('form').serialize();
    $.post('/users/login',values,function(data){
        if(!data['success']) {
            alert($(this).attr('class')); // THIS SAYS UNDEFINED
            // TRYING TO DO THIS
            $(this).siblings('.form-error').html(data['error']); 
        } 
    },'json');
});
Run Code Online (Sandbox Code Playgroud)

这是HTML:

<form class="form-login" method="post" action="/users/login">
<input type="hidden" name="_method" value="POST">
<div class="form-error"></div>
<input name="data[User][username]" type="text" maxlength="20" id="UserUsername">
<input type="button" class="login-submit" value="Sign In">
</form>
Run Code Online (Sandbox Code Playgroud)

jquery

2
推荐指数
1
解决办法
524
查看次数

jQuery $(this)$ .post()的问题

所以这是我的代码,当用户点击跟随按钮时:

$('.follow_btn').click(function() {
    $(this).html('<img src = "../assets/style_images/loading.gif">');
    var userId = $(this).attr('id');
    $.post('../assets/scripts/ajax_follow_parse.php', {
        userId: userId
    }, function(data) {
        $(this).html(data);
    });
});
Run Code Online (Sandbox Code Playgroud)

很高兴用第2行所示的加载gif替换它.但是当它返回数据并将其替换为第4行返回的数据时.

我怎样才能解决这个问题?

html ajax jquery this

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

标签 统计

jquery ×4

ajax ×2

this ×2

caching ×1

html ×1

jquery-selectors ×1