2017-04-10 50 views
0

我有一个javascript的ajax块,它做了一些操作,然后更改我的页面中的文本框。在Ajax成功的变化没有刷新页面加载

$.ajax({ 
    type: "POST", 
    url: "/post_to_page/", 
    data: JSON.stringify({'titleid': parseInt(count_id)}), 
    cache: false, 
    success: function(data){ 
    var content_id = "count_" + count_id; 
    var votes = $(content_id).val(); 
    $(upvotes_id).html(votes); 
    //window.location.reload(); 
    } 
    }); 

仅在刷新页面后才反映内容值。我尝试将缓存参数设置为false,并在文档准备就绪时在ajaxSetup中进行相同的设置。这些变化仍未得到体现。请帮忙。

+0

请提供所有相关代码。什么是变量upvotes_id? 此外,是不是“count_”ids而不是标签名称? – Sorikairo

+0

您正在以错误的方式投票。票值应该是$(“#content_id”)。val();或$(“。content_id”)。val(); 我认为这个“upvotes_id”应该是ID ot类,所以请尝试使用$(“#upvotes_id”)。html(votes);如果类或“$(”。upvotes_id“)。html(票)”如果类。 – umishra

回答

0

添加散列以获得值,如 var votes = $('#'+ content_id).val();

0

我想你忘了ID

$.ajax({ 
type: "POST", 
url: "/post_to_page/", 
data: JSON.stringify({'titleid': parseInt(count_id)}), 
cache: false, 
success: function(data){ 
var content_id = "count_" + count_id; 
var votes = $('#'+content_id).val(); // add hash for id or . for class 
$(upvotes_id).html(votes); 
//window.location.reload(); 
} 
}); 
0

我假设upvotes_id或者是id或class前加 “#”。在“content_id”的情况下使用$(“#upvotes_id”)。html(票)或$(“。upvotes_id”)。html(票)。

+0

是的你是对的。这是我的一个小错误。但是在更正之后,更改仅在页面重新加载后才得到反映。 –

+0

你可以添加更新后的脚本吗? –

1

看起来你的返回变量'data'没有被成功函数引用。正如其他地方指出的那样,也缺少一个id或class引用。试试这个(或任何其他相关变量):

var content_id = "#count_" + data.count_id; 
0

我可以看到你的代码的几个问题喜欢 - 没有“#”为参照的元素。

更正:

$.ajax({ 
    type: "POST", 
    url: "/post_to_page/", 
    data: JSON.stringify({'titleid': parseInt(count_id)}), 
    cache: false, 
    success: function(data){ 
     **var content_id = "#count_" + count_id;** 
     var votes = $(content_id).val(); 
     $(upvotes_id).html(votes); 
     //window.location.reload(); 
    } 
}); 

你也没有提到你是如何得到upvotes_id。那里也使用#。您没有使用成功方法返回的响应。它的目的是?