Jquery AJAX响应不起作用

时间:2010-08-27 14:02:19

标签: php jquery ajax response

由于某种原因,这个jQuery函数无法正常工作。这是我的代码......响应div没有随我的回复更新。

当调用AJAX功能时

if ($action == 'sort') {

    echo 'getting a response';
    return 0;

}

JQuery FUNCTION

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 TO REPLACE

<div id="ajaxPhotographSortResponse"></div>

2 个答案:

答案 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);

        }
    });

http://api.jquery.com/jQuery.ajax/

答案 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() });