由于某种原因,这个jQuery函数无法正常工作。这是我的代码......响应div没有随我的回复更新。
if ($action == 'sort') {
echo 'getting a response';
return 0;
}
function sort() {
$.ajax({
type: "POST",
url: "contributor_panel.php?action=sort",
data:"sort_by=" + document.getElementById("sort_by").value +
"&view_batch=" + document.getElementById("view_batch").value,
success: function(html){
$("#ajaxPhotographSortResponse").html(html);
}
});
}
<div id="ajaxPhotographSortResponse"></div>
答案 0 :(得分:2)
将action=sort
移动到$ .ajax函数的data属性中。您正在发出POST请求,但是将数据作为GET请求附加到查询字符串中。如果查询字符串是GET请求,则Data
仅附加到查询字符串。
示例:
$.ajax({
type: "POST",
url: "contributor_panel.php",
data: {action:'sort', sort_by: $('#sort_by').val(), view_batch: $('#view_batch').val()},
success: function(html){
$("#ajaxPhotographSortResponse").html(html);
}
});
答案 1 :(得分:0)
我建议你使用以下语法,而不是连接你传递给服务器端脚本的参数。此外,如果您已经使用jQuery,则不再需要document.getElementById
函数:
$.ajax({
type: "POST",
url: "contributor_panel.php?action=sort",
data: { sort_by: $("#sort_by").val(), view_batch: $("#view_batch").val() },
success: function(html){
$("#ajaxPhotographSortResponse").html(html);
}
});
使用.load()
函数甚至更短:
$('#ajaxPhotographSortResponse').load('contributor_panel.php?action=sort',
{ sort_by: $("#sort_by").val(), view_batch: $("#view_batch").val() });